Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Python 3.6 to become the default target
View unanswered posts
View posts from last 24 hours

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
bghoons
n00b
n00b


Joined: 04 May 2015
Posts: 35
Location: USA

PostPosted: Fri May 25, 2018 11:44 am    Post subject: Python 3.6 to become the default target Reply with quote

I was reading the recent eselect news item about the Python 3.6 upgrade on or about June 22 --

In order to prevent dependency conflicts, please clean stray packages and rebuild/upgrade all packages with USE flag changes

It will be interesting to see how this will impact my system, especially if a new kernel comes out right about the same time.

Gentoo ~ The future is just a compile away
Back to top
View user's profile Send private message
ShanaXXII
Apprentice
Apprentice


Joined: 29 Jun 2014
Posts: 278
Location: Canada

PostPosted: Fri May 25, 2018 3:15 pm    Post subject: Reply with quote

I've been on python3_6 for a while now.

Theres only a few packages that is preventing 3.5 from being depcleaned. (terminal-colors, fontforge and a few more)

:)
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sat May 26, 2018 6:13 pm    Post subject: Reply with quote

What does it mean? Good question. I rather mis-posted the following on a related topic here:
https://forums.gentoo.org/viewtopic.php?p=8222674
but this question seems to be similar to mine.

Regarding the 5/22 news item "Python 3.6 to become the default target"

I found that to be a sufficiently cryptic news item. I have no python targets set, preferring to let portage sort it out. At one time that was a recommendation somewhere and my systems are stable, up-to-date, and everything seems to work just fine.

When I enter "eselect python list" I get:
Code:
Available Python interpreters, in order of preference:
  [1]   python3.4
  [2]   python3.6 (fallback)
  [3]   python3.5 (fallback)
  [4]   python2.7 (fallback)


I have since figured out that I might enter "eselect python update" which changes "eslect python list" to:
Code:
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python3.4
  [3]   python3.5 (fallback)
  [4]   python2.7 (fallback)


That seems better. Is that sane? SHOULD I do anything else? Will portage continue to sort python versions out for me?
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6515
Location: Austria

PostPosted: Sat May 26, 2018 6:36 pm    Post subject: Reply with quote

What is cryptic to you? You haven't set a python target, so you use whatever is the default. The default will change, Portage will take care of it.
Your system could use some cleanup if you still have 3.4 on there.

bghoons wrote:
It will be interesting to see how this will impact my system, especially if a new kernel comes out right about the same time.
Kernel update does not care what python version is default...
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sat May 26, 2018 7:25 pm    Post subject: Reply with quote

What is cryptic to me? Thank you for asking.

1. The news item doesn't say anything about how to set the default version of python. I made some good guesses. It would be helpful if developers didn't assume such a high degree of knowledge and experience.
2. emerge --depclean does not offer to remove any version of python.

I love Gentoo as much as one can love a distribution and I've used it for a very long time. I keep my systems up-to-date, I read the portage elog entris and news articles, try to stay well informed, and try to help others as much as I can, but in the end, I'm just an ordinary user.

We ordinary users could sometimes use a little more direction when it comes to important changes. So, I posted what I did in response to the news item and asked in closing if i was on a sane path, because I do know that if I don't get python right, bad things are likely to happen.

Thanks again for asking for clarification about why I found the news item to be cryptic.
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41417
Location: 56N 3W

PostPosted: Sat May 26, 2018 7:43 pm    Post subject: Reply with quote

figueroa,

You may have some world pollution that is preventing old versions of things being removed.

Pastebin /var/lib/portage/world please.

That file should only contain things you have explicitly installed.
Python, gcc, glibc and others are part of the @system set and should not be listed.
Its easy to forget --oneshot when you are fixing things and so odds and ends creep into world.

Don't use ${EDITOR} on your world file until you have a backup.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6515
Location: Austria

PostPosted: Sat May 26, 2018 7:51 pm    Post subject: Reply with quote

figueroa wrote:
1. The news item doesn't say anything about how to set the default version of python. I made some good guesses. It would be helpful if developers didn't assume such a high degree of knowledge and experience.

It clearly tells you where PYTHON_TARGETS is set. And since you do not override it, you do not need to care.

Nowhere is this news item talking about eselect, which is a different thing - it selects the default for your user when you run `python`. If your current eselect python default is removed from the system, then eselect will choose the next best solution.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic


Last edited by asturm on Sat May 26, 2018 7:53 pm; edited 1 time in total
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sat May 26, 2018 7:52 pm    Post subject: Reply with quote

This is a follow up. I found the following in my /var/log/portage/world file:
Code:
dev-lang/python
dev-lang/python:3.4


No doubt at one time I had to add 3.4 to world. Upon removing that line, emerge --depclean -p responded with:
Code:
>>> Calculating removal order...

 dev-lang/python
    selected: 3.4.8
   protected: none
     omitted: 2.7.14-r1 3.5.5 3.6.5

That seemed like a sane thing to do, so I let it proceed. After than, eselect python list revealed:
Code:
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python3.4 (uninstalled)
  [3]   python3.5 (fallback)
  [4]   python2.7 (fallback)


Interesting that it knows that version 3.4 is uninstalled. I hope I did the right thing and won't suffer unintended consequences.
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41417
Location: 56N 3W

PostPosted: Sat May 26, 2018 7:58 pm    Post subject: Reply with quote

figueroa,

dev-lang/python should not be in world either but its probably harmless.

What versions of Python you have installed is controlled by PYTHON_TARGETS, which is set in your profile.
You can override it in make.conf but you probably shouldn't.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sat May 26, 2018 8:16 pm    Post subject: Reply with quote

BTW, thank you asturm and NeddySeagoon for replying on this post.

As an experiment I removed dev-lang/python from /var/lib/portage/world and then depclean would have removed python-3.6.5. That didn't seem like a good thing so I restored dev/lang/python to world and then depclean is happy to do nothing.

My world file can be found at: https://paste.pound-python.org/show/A5R1HRXFi2cw5FXqFOvH/
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 41417
Location: 56N 3W

PostPosted: Sat May 26, 2018 8:48 pm    Post subject: Reply with quote

figueroa,

Ahh ... libraries like
Code:
dev-libs/dbus-glib
dev-libs/geoip
dev-libs/gobject-introspection
dev-libs/libconfig
dev-libs/libedit
dev-libs/liboil
dev-libs/libusb-compat
dev-libs/libzip
dev-libs/nspr
dev-libs/nss
dev-libs/openobex
dev-libs/openssl
and
Code:
media-libs/alsa-oss
media-libs/faad2
media-libs/freeglut
media-libs/freetype
media-libs/gst-plugins-good
media-libs/gst-plugins-ugly
media-libs/jbigkit
media-libs/libdv
media-libs/libfame
media-libs/libmodplug
media-libs/libmpeg3
media-libs/libquicktime
media-libs/libsdl
media-libs/libtxc_dxtn
media-libs/mesa
media-libs/musicbrainz
media-libs/netpbm
media-libs/openjpeg
media-libs/speex
media-libs/xine-lib

are by definition installed as dependancies of other packages so shoild not be in your world file.

Why the old kernel?
Code:
sys-kernel/gentoo-sources:4.4.111-r1


More libraries
Code:
sys-libs/libavc1394
sys-libs/libieee1284
sys-libs/pam


x11-drivers, like
Code:
x11-drivers/xf86-input-evdev
x11-drivers/xf86-input-keyboard
x11-drivers/xf86-input-mouse
x11-drivers/xf86-video-vesa

are controlled by VIDEO_CARDS= and INPUT_DEVICE= in make.conf

More libs ...
Code:
x11-libs/cairo
x11-libs/fltk
x11-libs/gdk-pixbuf
x11-libs/libgksu
x11-libs/libxcb
x11-libs/pangox-compat
x11-libs/xcb-util
x11-libs/xcb-util-image
x11-libs/xcb-util-keysyms


That's just a quick look with Mk1 eyeball.

There is a script on the wiki that will check your world file and produce a list of entries that can be removed from world without breaking thlngs.
That does not mean that the packages can be removed from your system, just that the entries in the world file are redundant.

Beware things like
Code:
app-editors/nano
app-editors/vim
as you have nano, virtual/editor is satisfied, so it will put app-editors/vim on the list to be removed from world.
Then your next --depclean will remove vim. You might not want that.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sun May 27, 2018 2:16 am    Post subject: Reply with quote

Thank you so much, NeddySeagoon, for your commentary on my world file. That world file has been developing since about 2004, and apparently long overdue a good scrub. I'll let you know how it goes as soon as I can sanely prune it later this weekend.

The reason for the old kernel sys-kernel/gentoo-sources:4.4.111-r1 is a backup to my running kernel 4.4.128, the latest stable 4.4 version. Everything else is just cruft, apparently, except for vim. I've been a vi user for 33 years and I'm pretty stuck on it.
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
Goverp
l33t
l33t


Joined: 07 Mar 2007
Posts: 603

PostPosted: Sun May 27, 2018 10:37 am    Post subject: Reply with quote

A somewhat off-topic commentary on cryptic info:

I spent several years as a programmer before moving into customer technical support. The new job consisted largely of finding which bit of the documentation the customer had ignored and explaining it to them. When I could take no more, I went back into software development (sounds sexier, and pays better, than programming). And realised it wasn't all the customer's fault.

Programmers, developers and other IT experts tend to have a mathematical/logical mind, and any decent developer soon learns the best program is the most succinct program. I.e the code say exactly what it does, nothing more, nothing less, and in the shortest most direct way. So they produce documentation in the same style. Not a word is wasted; it tells you everything you need to know, no more, no less

But the people reading it are not the people writing it. They need a bit of redundancy. IBM used to produce a standard set of manuals for each bit of software - General Information, explaining why you bought it, Concepts and Facilities, User's Guide (a load of use cases explained), Administrator's Guide (ditto), and Reference. Now you could derive everything you needed to know from the Reference; the other manuals were redundant repetition. But they made it much easier to get your head around why you had to do something. and provided examples to work from.

In Linux-land, we're lucky to get even the reference ...

On this particular news item, I too have used Gentoo for donkey's years, yet was not clear what I needed to do. I suspected the answer was nothing, as I always do:
Code:
emerge --update --deep --changed-use @world
emerge @preserved-rebuild
emerge @modules-rebuild
emerge --depclean --ask

and have no python targets set explicitly in /etc/portage files.
But I was, and still am, slightly concerned I might have misunderstood.
_________________
Greybeard
Back to top
View user's profile Send private message
depontius
Advocate
Advocate


Joined: 05 May 2004
Posts: 3350

PostPosted: Sun May 27, 2018 11:44 am    Post subject: Reply with quote

I just saw this thread this morning, and it seemed odd to me, especially considering my post of a few weeks ago.

"Standard updates" have uninstalled python-3.6 from my system. This morning seeing this post, I tried a few things...
Code:
$ emerge -ptv python

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[ebuild  NS    ] dev-lang/python-3.6.5:3.6/3.6m::gentoo [2.7.14-r1:2.7::gentoo, 3.5.5:3.5/3.5m::gentoo] USE="gdbm ncurses readline sqlite ssl (threads) tk xml -build -examples -hardened -ipv6 -libressl {-test} -wininst" 0 KiB

Total: 1 package (1 in new slot), Size of downloads: 0 KiB
$ emerge -ptuvDN world

These are the packages that would be merged, in reverse order:

Calculating dependencies... done!
[nomerge       ] games-util/steam-meta-0-r20160817::steam-overlay  USE="steamruntime"
[nomerge       ]  games-util/steam-client-meta-0-r20160828::steam-overlay  USE="steamfonts steamruntime -flash -pulseaudio -streaming -trayicon" VIDEO_CARDS="-intel -nvidia"
[ebuild   R    ]   media-fonts/font-mutt-misc-1.0.3-r1::gentoo  USE="X (-nls%*)" 0 KiB
[nomerge       ] mail-client/thunderbird-52.8.0::gentoo  USE="crypt jemalloc minimal startup-notification -bindist -custom-cflags -custom-optimization -dbus -debug -gtk2 -hardened -ldap -lightning -mozdom (-neon) -pulseaudio (-rust) (-selinux) (-system-cairo) -system-harfbuzz -system-icu -system-jpeg -system-libevent -system-libvpx -system-sqlite -wifi" L10N="-ar -ast -be -bg -bn-BD -br -ca -cs -cy -da -de -el -en-GB -es-AR -es-ES -et -eu -fi -fr -fy -ga -gd -gl -he -hr -hsb -hu -hy -id -is -it -ja -ko -lt -nb -nl -nn -pa -pl -pt-BR -pt-PT -rm -ro -ru -si -sk -sl -sq -sr -sv -ta-LK -tr -uk -vi -zh-CN -zh-TW"
[ebuild     U  ]  x11-plugins/enigmail-2.0.5-r1::gentoo [2.0.5::gentoo] 0 KiB
[ebuild   R    ] media-fonts/font-cursor-misc-1.0.3-r1::gentoo  USE="X (-nls%*)" 0 KiB

Total: 3 packages (1 upgrade, 2 reinstalls), Size of downloads: 0 KiB
$ eselect python list
Available Python interpreters, in order of preference:
  [1]   python2.7
  [2]   python3.5
  [3]   python3.4 (uninstalled)
$ eselect news list
News items:
  (none found)

(eselect news hasn't done anything for me, for at least a year.)

So python-3.6 still isn't on my system, but if I were to directly emerge python, that's what would get installed. I've done nothing with PYTHON in /etc/portage, either. Is it just a wait-and-see, and it will all be fixed, or is something wrong? I have multiple systems basically all behaving like this.

[Moderator edit: added [code] tags to preserve output layout. -Hu]
_________________
.sigs waste space and bandwidth
Back to top
View user's profile Send private message
fedeliallalinea
Bodhisattva
Bodhisattva


Joined: 08 Mar 2003
Posts: 19651
Location: here

PostPosted: Sun May 27, 2018 11:52 am    Post subject: Reply with quote

The default python target is not yet set to python 3.6 in stable system
Code:
/usr/portage/profiles/base/make.defaults:PYTHON_TARGETS="python2_7 python3_5"

_________________
Questions are guaranteed in life; Answers aren't.
Back to top
View user's profile Send private message
Naib
Watchman
Watchman


Joined: 21 May 2004
Posts: 5444
Location: Removed by Neddy

PostPosted: Sun May 27, 2018 12:10 pm    Post subject: Reply with quote

I have had py36 set as the default for quite some time now partially because I am a heavy python user at work for analytical purposes and thus keeping my desktop in sync with my work machine is useful.

That said... there are still a number of packages that do not have py36 in their ebuild resulting in py34 still lingering on my system:


media-libs/gexiv2 # can be built upto py35 ONLY but my system only needs py27 support due to gimp

The tedious part is unpicking and rebuilding (botan was being held at a lower py because boost only supported a lower py)


I am more familiar with python so the unpicking and error messages are more familiar. Ruby however is a mess from my perspective.
_________________
The best argument against democracy is a five-minute conversation with the average voter
Great Britain is a republic, with a hereditary president, while the United States is a monarchy with an elective king
Back to top
View user's profile Send private message
Anon-E-moose
Advocate
Advocate


Joined: 23 May 2008
Posts: 3365
Location: Dallas area

PostPosted: Sun May 27, 2018 12:14 pm    Post subject: Reply with quote

From the news article

On 2018-06-22, Python 3.6 will replace Python 3.5 in the default Python
targets for Gentoo systems.


So I would imagine that the "default" won't change until near that time.
_________________
Asus m5a99fx, FX 8320 - nouveau & radeon, oss4
Acer laptop E5-575, i3-7100u - i965, alsa
---both---
4.14.62 kernel, profile 17.0 (no-pie) amd64-no-multilib
gcc 4.9.4 & 7.3.0, eudev, openrc, openbox, palemoon
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 12830

PostPosted: Sun May 27, 2018 4:48 pm    Post subject: Reply with quote

depontius wrote:
So python-3.6 still isn't on my system, but if I were to directly emerge python, that's what would get installed. I've done nothing with PYTHON in /etc/portage, either. Is it just a wait-and-see, and it will all be fixed, or is something wrong? I have multiple systems basically all behaving like this.
Long answer: You will get Python 3.6 when you need it or when you ask for it, whichever comes first. You won't need it until packages try to depend on it. That will happen when a package with python3_6 in PYTHON_TARGETS has python3_6 enabled, whether affirmatively by you (via make.conf or package.use) or passively (by Gentoo maintainers updating the profile defaults, and you declining to locally override them to stay on older Python). If you want to get started migrating early, you can set python3_6 locally whenever you want. You might do this because you anticipate having more time now for migration than you will when the migration is default-enabled. In particular, if you have out-of-tree packages with Python components, you might want to migrate them early, so you can test their Python 3.6 compatibility and decide whether you need to pin them on an older version. You might do this because, like Naib, you have a non-maintenance reason for wanting Python 3.6, and you want to get it early for feature parity.

Short answer: your experience is fine. Nothing is wrong.
Back to top
View user's profile Send private message
Jaglover
Watchman
Watchman


Joined: 29 May 2005
Posts: 6531
Location: Saint Amant, Acadiana

PostPosted: Sun May 27, 2018 4:59 pm    Post subject: Reply with quote

I just finished migrating my last box. No breakages whatsoever. Disappointed. Gentoo is supposed to be fun, no?
_________________
Please learn how to denote units correctly!
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6515
Location: Austria

PostPosted: Sun May 27, 2018 5:18 pm    Post subject: Reply with quote

Goverp wrote:
On this particular news item, I too have used Gentoo for donkey's years, yet was not clear what I needed to do. I suspected the answer was nothing

But that is written right there in the news item. It seems to me the problems shown in this thread are caused by not actually reading the news text.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sun May 27, 2018 7:04 pm    Post subject: Reply with quote

asturm wrote:
Goverp wrote:
On this particular news item, I too have used Gentoo for donkey's years, yet was not clear what I needed to do. I suspected the answer was nothing

But that is written right there in the news item. It seems to me the problems shown in this thread are caused by not actually reading the news text.


Doing nothing may be implied, but after reading and re-reading the news item a dozen times, I don't get it. But I'm starting to get it thanks to you and others participating in this thread.
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
depontius
Advocate
Advocate


Joined: 05 May 2004
Posts: 3350

PostPosted: Sun May 27, 2018 7:17 pm    Post subject: Reply with quote

asturm wrote:
Goverp wrote:
On this particular news item, I too have used Gentoo for donkey's years, yet was not clear what I needed to do. I suspected the answer was nothing

But that is written right there in the news item. It seems to me the problems shown in this thread are caused by not actually reading the news text.


I'd love to, but...
$ eselect news list
News items:
(none found)
News hasn't worked for me for at least a year, not sure what to do about it. I just try to keep an eye on the forums here.
_________________
.sigs waste space and bandwidth
Back to top
View user's profile Send private message
asturm
Developer
Developer


Joined: 05 Apr 2007
Posts: 6515
Location: Austria

PostPosted: Sun May 27, 2018 7:40 pm    Post subject: Reply with quote

But that's a different bug entirely.
_________________
backend.cpp:92:2: warning: #warning TODO - this error message is about as useful as a cooling unit in the arctic
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sun May 27, 2018 7:43 pm    Post subject: Reply with quote

NeddySeagoon, your reply of Sat May 26, 2018 3:48 pm that commented on my bloated world file was greatly helpful. I removed files from world in groups, i.e. dev-libs, media-libs, sys-libs, x11-libs etc, alternating with emerge --depclean -p where 4 + 8 + 1 + 1 + 4 (total eighteen) packages were ultimately removed including many that I'm glad to be rid of.

I feel clean and have just learned so much that I'm truly thankful. That you for not assuming that experienced users just know things.
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
figueroa
Guru
Guru


Joined: 14 Aug 2005
Posts: 354
Location: GA-USA

PostPosted: Sun May 27, 2018 7:56 pm    Post subject: Reply with quote

depontius wrote:
asturm wrote:
Goverp wrote:
On this particular news item, I too have used Gentoo for donkey's years, yet was not clear what I needed to do. I suspected the answer was nothing

But that is written right there in the news item. It seems to me the problems shown in this thread are caused by not actually reading the news text.


I'd love to, but...
$ eselect news list
News items:
(none found)
News hasn't worked for me for at least a year, not sure what to do about it. I just try to keep an eye on the forums here.


That sounds really serious. I don't understand eselect, but I do use it. I can follow instructions. The vast majority news items are over my head, but at least they scare me into trying to figure out how to avert disaster. Some news is better than no news. I wish I could help you.
_________________
Andy Figueroa
andy@andyfigueroa.net Working with Unix since 1983.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum