1 |
On 25/03/2016 17:09, James wrote: |
2 |
> Alan McKinnon <alan.mckinnon <at> gmail.com> writes: |
3 |
> |
4 |
> |
5 |
>>> Alan McKinnon <alan.mckinnon <at> gmail.com> writes: |
6 |
>>>> emerge --info | grep PYTHON |
7 |
> |
8 |
>>> PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" |
9 |
>>> USE_PYTHON |
10 |
> |
11 |
>> The solution is right there in the original output. The ebuild needs |
12 |
>> 3_4, you have 2_7. So set it in USE. |
13 |
> |
14 |
> So you are saying the first output of that env parse is the default setting? |
15 |
> I thought eselect set the priority:: |
16 |
> |
17 |
> |
18 |
> # eselect python list |
19 |
> Available Python interpreters: |
20 |
> [1] python2.7 |
21 |
> [2] python3.4 * |
22 |
> |
23 |
> |
24 |
> If that's not true where do I got to set the default to 3.4? |
25 |
> |
26 |
> I.E. where is the best place to set that env varialble for python? Is it |
27 |
> a system default that is not address by eselect? |
28 |
> |
29 |
> It was set up to python 3.4 by default, according to eselect. The openshot |
30 |
> (EAPI-6) ebuild did not pick this up, automatically, so I set these falgs |
31 |
> manually in ::/etc/portage/package.use/package.use:: |
32 |
> |
33 |
> media-video/openshot python_single_target_python3_4 |
34 |
> dev-python/PyQt5 webkit gui widgets opengl network printsupport |
35 |
> |
36 |
> I view python 2.x and deprecated, hence I never want to set it as |
37 |
> a default, ymmv. |
38 |
> |
39 |
> I guess it's a bug as I have not had problem with other python codes/ebuilds. |
40 |
> I'd need some verification on the status as a bug to file with bgo. |
41 |
|
42 |
James, |
43 |
|
44 |
You are being especially obtuse this time. Ate too many chocolate easter |
45 |
eggs this weekend? |
46 |
|
47 |
LOOK at the emerge output please (eselect python is a red herring), this |
48 |
is what it says: |
49 |
|
50 |
The following REQUIRED_USE flag constraints are unsatisfied: |
51 |
exactly-one-of ( python_single_target_python3_4 |
52 |
python_single_target_python3_5 ) |
53 |
|
54 |
Clear as daylight. It says right there it needs PYTHON_SINGLE_TARGET to |
55 |
be 1, and only 1, between 3.4 and 3.5. |
56 |
You have it set as 2.7 per your emerge info. |
57 |
|
58 |
Do what Q says 1 reply higher up in this sub-thread and your problem |
59 |
will go away. |
60 |
|
61 |
Here's what's happening: |
62 |
When the ebuild installs a python package, it needs to determine what |
63 |
python you will use and what goes in the python script shebang. This is |
64 |
what PYTHON*TARGET does - it's really just a USE flag and emerge uses |
65 |
that USE flag to figure out which python version to install against. |
66 |
|
67 |
The flag is defined like any other flag - globally in make.conf or |
68 |
per-package in package.use. The ebuild can and should assist by setting |
69 |
it's own variables about what it can work with, but all of that is |
70 |
undone when you override the ebuild with your own USE. |
71 |
|
72 |
There is no bug here, your USE is set wrong by you. |
73 |
|
74 |
eselect python: This handy gadget is a different thing from the above. |
75 |
It determines what gets run when you type the command "python", |
76 |
"python2" or "python3", because you can have lots of them. eselect |
77 |
python tells Gentoo what is the global default. It has NOTHING to do |
78 |
with installs. |
79 |
|
80 |
The reason that all your other packages work and this one doesn't is |
81 |
because so far that's the only one that has tripped over your |
82 |
misconfigured USE. |
83 |
|
84 |
|
85 |
-- |
86 |
Alan McKinnon |
87 |
alan.mckinnon@×××××.com |