Sie sind nicht angemeldet.

1

27.07.2015, 12:02

Python_Single_Target

Hallo allerseits,

habe folgende Frage:

Sollte man besser

PYTHON_SINGLE_TARGET="python2_7"

oder

PYTHON_SINGLE_TARGET="python3_4"

setzen.

Blicke irgendwie nicht durch!

Beste Güße
GOS

2

27.07.2015, 16:37

Da ich dort auch keinen Durchblick habe, setze ich selbst nichts davon. Im Portage Profil ist noch python2_7 gesetzt. Wenn Die Zeit reif dazu ist, werden die Gentoo-Dev's es im Portage umstellen, dann wird auch bei mir automatisch umgestellt.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

3

27.07.2015, 17:51

Hallo GOS und bell,

ich hatte jetzt auch in den eselect news die Meldung, dass python3_4 der neue Default ist. Darauf habe ich meine make.conf so umgeschrieben:

Zitat

# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
CFLAGS="-O2 -pipe"
CXXFLAGS="${CFLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.
CHOST="x86_64-pc-linux-gnu"
# These are the USE flags that were used in addition to what is provided by the
# profile used for building.
USE="bindist mmx sse sse2"
PORTDIR="/usr/portage"
DISTDIR="${PORTDIR}/distfiles"
PKGDIR="${PORTDIR}/packages"

GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/"

MAKEOPTS="-j4"

EMERGE_DEFAULT_OPTS="--jobs=2 --load-average=12 --ask --verbose"

VIDEO_CARDS="nvidia"

ACCEPT_LICENSE="*"

INPUT_DEVICES="evdev"

PYTHON_TARGETS="python2_7 python3_4 pypy1_9 jython2_5"

#Some Desktopconfig USE-Flags
USE="${USE} X kde qt4 gtk alsa python cdrdao opengl -gnome"

#Additional Steam Runtime USE-Flag
USE="${USE} steam-runtime"

#Additional USE-Flag for Intel SandyBridge and obove Optimizations
USE="${USE} sna"

#USE Flags for WINE IS NOT AN EMULATOR
USE="${USE} fontconfig gecko jpeg lcms mp3 png truetype pulseaudio realtime nls udisks xcomposite ncurses ssl abi_x86_32 abi_x86_64 perl run-exes staging threads xml"

#Jackserver USE-Flag
USE="${USE} jack"

#Using FFMPEG instead of LIBAV
USE="${USE} ffmpeg -libav"

#The End of /etc/portage/make.conf reserved for layman!
source /var/lib/layman/make.conf


Habe also da wo vorher in PYTHON_TARGETS "python3_2" eingetragen war ein "python3_4" gesetzt.

Ist das okay so, oder mache ich etwas falsch??? :?: :?: :?:

LG

solarseed
...neverending Black...

The "G" in Gentoo stands for: Good Choice, The "E" stands for: Enormously Powerfull, The "N" stands for: Nothing Else, The "T" stands for: TTY, Both "O's" stand for: Overwhelming Overlord!

...wir benutzen sie...

4

27.07.2015, 19:29

Hallo und Danke schon mal,

dachte auch, dass python 3.4 jetzt der Default ist. Da ist doch verwunderlich, dass man den
PYTHON_SINGLE_TARGET bei 2.7 beläßt. Finde es sowieso merkwürdig, dass es Pakete gibt, die gleichzeitig PYTHON_SINGLE_TARGET-Flags und PYTHON_TARGETS-Flags besitzen. Gemäß Wiki hätte ich gerade das nicht erwartet?!? Von daher besteht bei mir insgesamt eine gewisse Verwirrung.

@solarseed: Was bedeuten in diesem Kontext "pypy1_9 jython2_5"

Grüße
GOS

5

28.07.2015, 10:45

Hi GOS 8)

Also pypy1_9 und jython2_5 habe ich gesetzt weil mir die eselect news das hiermit empfohlen haben:

Zitat

Title PYTHON_TARGETS deployment
Author MichaŠGórny <mgorny@gentoo.org>
Posted 2012-11-06
Revision 1

Recently, a few new Python eclasses have been deployed. As ebuilds
migrate, the way they support multiple Python implementations will
change. The previous method built Python modules for Python
implementations selected through `eselect python'. The new method uses
the PYTHON_TARGETS USE flags to explicitly name the implementations the
modules shall be built for.

If you are running a modern system with only Python 2.7 & 3.2 installed,
then you don't have to do anything. The defaults will simply fit you,
and let you keep your system up-to-date when new Python versions are
deployed.

However, if you'd like to use another set of Python implementations, you
will need to set PYTHON_TARGETS in your make.conf file appropriately.
This variable names the enabled implementations in the standard way
common to all USE_EXPAND variables.

For example, a setup enabling all major Python implementations would
look like:

PYTHON_TARGETS="python2_7 python3_2 pypy1_9 jython2_5"

The variable should list all Python implementations which are going to
be used on the system; missing a particular value there will result
in missing Python modules.

A complete list of all possible values can be obtained using a command
equivalent to the following:

emerge -1pv dev-python/python-exec

For more details, please see the python-r1 User's Guide [1].

[1] http://www.gentoo.org/proj/en/Python/pyt…/user-guide.xml


Was genau die bewirken kann ich dir auch nicht sagen. War halt eine Empfehlung der eselect news die ich umgesetzt habe.
Vielleicht findest du ja eine Antwort in dem letztgenannten Link den ich aus den eselect news als Zitat oben eingefügt habe...

LG

solarseed
...neverending Black...

The "G" in Gentoo stands for: Good Choice, The "E" stands for: Enormously Powerfull, The "N" stands for: Nothing Else, The "T" stands for: TTY, Both "O's" stand for: Overwhelming Overlord!

...wir benutzen sie...

6

28.07.2015, 15:01

Danke nochmal,

habe nochmal gesucht und allem Anschein nach handelt es nicht bei PyPy und Jython nicht um standardmäßige Python-Implementationen.

Ich glaube nicht das "eselect news" empfiehlt diese zu aktivieren. Vielmehr will der sagen: Wenn Du weitere oder andere Implementationen von Python haben willst, kannste
die mit "PYTHON_TARGETS" aktivieren und nennt ein Beispiel.

Gehe daher eigentlich konform mit bell, gar nichts zu setzen. Habe dies nur getan, weil einige Pakete dies im Infoblock nach ihrem Emerge mokiert haben. Um das zu vermeiden wollte ich daher einfach den "Gentoo Standard" einstellen, damit alles beim Alten bleibt, sich aber kein Paket beschwert.

Bleibe daher bei

PYTHON_TARGETS="python3_4 python 2_7"
PYTHON_SINGLE_TARGET="python 2_7"
USE_PYTHON="3.4 2.7"

Grüße
GOS

7

29.07.2015, 10:35

Ich habe dazu auch noch eine Frage... und zwar habe ich jetzt mit 'eselect python set 2' Python 3.4 gesetzt.
- Muss ich dann auch PYTHON_SINGLE_TARGET="python3_4" setzen?

Und wie schaut dass aus, wenn auch ich PyPy und Jython rausnehmen und meine make.conf der deinigen anpassen will GOS?? Ist das noch problemlos möglich, oder muss ich da mit Problemen rechnen?? Ich würde dann auch folgendes setzen:

PYTHON_TARGETS="python3_4 python 2_7"
USE_PYTHON="3.4 2.7"

...und dabei PYTHON_SINGLE_TARGET außen vor lassen.

LG

solarseed

P.S.: Ich hatte PyPy und Jython gesetzt weil ich alle Hauptpythonimplementationen drin haben wollte. Steht ja auch so da:

Zitat

For example, a setup enabling all major Python implementations would
look like:

PYTHON_TARGETS="python2_7 python3_2 pypy1_9 jython2_5"
...neverending Black...

The "G" in Gentoo stands for: Good Choice, The "E" stands for: Enormously Powerfull, The "N" stands for: Nothing Else, The "T" stands for: TTY, Both "O's" stand for: Overwhelming Overlord!

...wir benutzen sie...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »solarseed« (29.07.2015, 11:28)


8

29.07.2015, 12:29

Ich denke nicht, dass es da Probleme gibt. Beim mir funzt es ja auch. Würde empfehlen es einfach zu setzen und dann mal mit einem "emerge -av --update -deep --newuse --with-bdeps=y world" zu gucken, was er neu mergen will. Dann siehst Du ja, ob viele Pakete betroffen sind und ob Du es wagen willst. (Denke aber nicht, daß das besondere Probleme hervorruft; falls ein Pakete JavaPython oder so was benötigt, wird es sich schon melden)

Ich habe jetzt PYTHON_SINGLE_TARGET="python2_7" gesetzt, da es der Default ist.

Grüße
GOS

9

01.08.2015, 11:33

Hi GOS :)

Meine make.conf im Bezug auf Python sieht jetzt so aus:

PYTHON_TARGETS="python2_7 python3_4 pypy1_9 jython2_5"
PYTHON_SINGLE_TARGET="python 2_7"
USE_PYTHON="3.4 2.7"

Und ich denke, ich lasse das so stehen... :thumbsup:

Danke nochmal für die schnelle Antwort GOS!

Wünsche ein schönes Wochenende!!

LG

solarseed
...neverending Black...

The "G" in Gentoo stands for: Good Choice, The "E" stands for: Enormously Powerfull, The "N" stands for: Nothing Else, The "T" stands for: TTY, Both "O's" stand for: Overwhelming Overlord!

...wir benutzen sie...