Jump to content
  • 0

1.4 upgrade cant get rid of python 3.6


Question

Upgraded from 1.3 to 1.4, followed each step.

Now python is weird:

 

eselect python update
Switching to python3.7

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

 emerge -C =dev-lang/python-3.6*
 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.
 * Not unmerging package dev-lang/python-3.6.8 since there is no valid reason
 * for Portage to unmerge currently used Python interpreter.

 

emerge -pv --depclean =dev-lang/python-3.6*

Calculating dependencies... done!
  dev-lang/python-3.6.8 pulled in by:
    @system requires dev-lang/python


...

Link to post
Share on other sites

6 answers to this question

Recommended Posts

  • 0
On 10/22/2019 at 3:41 AM, jhan said:

That can depend on many factors.

Did you set PYTHON_SINGLE_TARGET or PYTHON_TARGETS somewhere?

There are also some programs that still don't have the USE flag for python3_7 or just don't support it yet. But if your 'emerge -pv --depclean =dev-lang/python-3.6* ' output does not show more packages, that should not be the case.

This was the problem that I ran into during my upgrade.  PYTHON_TARGETS was still set in /etc/portage/make.conf so 3.6 was still showing as a dependency.  It made quite a mess.

 

Link to post
Share on other sites
  • 0

I have this again.

eselect python set python3.7

 eselect python cleanup

eselect python list

  [1]   python3.7
  [2]   python3.6
  [3]   python2.7 (fallback)

 emerge -C =dev-lang/python-3.6*

 * This action can remove important packages! In order to be safer, use
 * `emerge -pv --depclean <atom>` to check for reverse dependencies before
 * removing packages.
 * Not unmerging package dev-lang/python-3.6.8 since there is no valid reason
 * for Portage to unmerge currently used Python interpreter.

I believe I am following the instructions...

 

Link to post
Share on other sites
  • 0

emerge --info 

Read the output to verify python3_6 is not included in the USE flag variables PYTHON_SINGLE_TARGET or PYTHON_TARGETS

This is what I have on my system with no python3_6 installed. 

PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python3_7 python2_7"

If you see python3_6 then you have set an override for it in /etc/portage/repos.conf or some other location that needs to be removed.

After you remove without rebooting ego sync followed by emerge -avuDN @world will trigger a rebuild of any modules that were built against python3_6 to be rebuilt against python3_7 if it's supported. If you have modules only supported by python3_6 you will either remove the modules and python3_6 or leave both installed.

 

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
×
×
  • Create New...