Jump to content
  • 0
Sign in to follow this  
escy

PYTHON_TARGETS troubles

Question

Hi,

I'm wondering how and where PYTHON_TARGETS and PYTHON_SINGLE_TARGET are defined.

Since upgrading to 1.3 and lately to 1.4, I've been getting more and more emerge errors, complaining about these two settings. I even started a fresh install, thinking that one of the upgrades might have broken something, but already on the first (still empty world file) world update, I ran into the same kind of errors again.

I read the forums and found out, that the way to go should be to override the PYTHON_SINGLE_TARGET setting via USE flags (this thread), but I'm still getting errors: PYTHON_TARGETS either lists versions of python that are not installed or demands versions that are already installed, as if they weren't.

A few examples:
Currently installed python versions are:

[I] dev-lang/python [1]
    (2.7)  2.7.15
    (3.6)  3.6.8
    (3.7)  3.7.3

eselect python list shows:

Available Python interpreters, in order of preference:
  [1]   python3.7
  [2]   python3.6
  [3]   python2.7

emerge -avuDN world gives:

!!! The ebuild selected to satisfy "dev-vcs/git" has unmet requirements.
- dev-vcs/git-2.22.0::core-kit USE="blksha1 curl gpg iconv nls pcre pcre-jit perl python threads webdav -cgi -cvs -doc -emacs -gnome-keyring -highlight -libressl -mediawiki -mediawiki-experimental (-ppcsha1) -subversion -test -tk -xinetd" 
PYTHON_SINGLE_TARGET="python3_7 -python2_7 -python3_5 -python3_6" PYTHON_TARGETS="python3_6 -python2_7 -python3_5 -python3_7"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python? ( python_single_target_python3_7? ( python_targets_python3_7 ) )

note, that I didn't set a python use flag for this package.  The PYTHON_TARGETS should be pyhton3_7, python3_6 and pyhton2_7 as far as I understand.
There are no mentions of PYTHON_TARGETS in my make.conf. I even tried to change the python version via eselect to another version and back, hoping that would resolve the issue, but it didn't help.

Where does my system get those PYTHON_TARGETS settings from? I thought they should be defined via eselect python?
Is there any guide or wiki entry about these settings, where to define them, what overrides them and how to correctly override them per package via USE flags?

Thanks for your help.

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 0
On 12/3/2019 at 11:52 AM, escy said:

Where does my system get those PYTHON_TARGETS settings from? I thought they should be defined via eselect python?

They came from profiles, make.conf or package.use.

On 12/3/2019 at 11:52 AM, escy said:

emerge -avuDN world gives:


!!! The ebuild selected to satisfy "dev-vcs/git" has unmet requirements.
- dev-vcs/git-2.22.0::core-kit USE="blksha1 curl gpg iconv nls pcre pcre-jit perl python threads webdav -cgi -cvs -doc -emacs -gnome-keyring -highlight -libressl -mediawiki -mediawiki-experimental (-ppcsha1) -subversion -test -tk -xinetd" 
PYTHON_SINGLE_TARGET="python3_7 -python2_7 -python3_5 -python3_6" PYTHON_TARGETS="python3_6 -python2_7 -python3_5 -python3_7"

  The following REQUIRED_USE flag constraints are unsatisfied:
    python? ( python_single_target_python3_7? ( python_targets_python3_7 ) )

 Strange thing: PYTHON_TARGETS="python3_6" but PYTHON_SINGLE_TARGET="python3_7" 

Share this post


Link to post
Share on other sites
  • 0

I found it strange too, that's why I wanted to know where the system is defining these settings.
Since the problem was with all the packages and make.conf and package.use are fresh, it must have been something with the profiles. Maybe the system couldn't handle the installation of multiple python versions after each other with multiple eselect python command runs in sequence.

I guess, I'll never find out, because I made a manual workaround by exporting the right values and the error didn't occur again for now.
I'll do more testing when I have more time.

Share this post


Link to post
Share on other sites
  • 0

Do you actually use and need python 3.6? The default in Funtoo 1.4 is python 3.7 and the install guide has you emerge -C =dev-lang/python-3.6* and eselect python cleanup. These steps should have corrected allot of your issues.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...