# [portege]PYTHON_TARGETS=(close)

## carlos plaza

Un saludo a todos los amables integrantes de este gran foro.

He leído los news, he estado pendiente con todos los cambios de python, pero ahora si que no se como solucionar el problema

```
emerge --update --deep --newuse -atv @world

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

Calculating dependencies -

!!! Problem resolving dependencies for dev-python/ndg-httpsclient from @selected

... done!

!!! The ebuild selected to satisfy "dev-python/ndg-httpsclient" has unmet requirements.

- dev-python/ndg-httpsclient-0.4.0::gentoo USE="" ABI_X86="(64)" PYTHON_TARGETS="(-pypy3) -python3_6"

  The following REQUIRED_USE flag constraints are unsatisfied:

    any-of ( python_targets_pypy3 python_targets_python3_6 )

(dependency required by "@selected" [set])

(dependency required by "@world" [argument])

```

He dejado que portage solucionara los problemas ya que no había tenido sino simples warning con python, había leído que pusiera en make.config *Quote:*   

> PYTHON_TARGETS="python2_7 python3_7"
> 
> PYTHON_SINGLE_TARGET="python3_7"
> 
> 

  Pero fue peor, muchos paquetes dan mensaje  *Quote:*   

> Problem resolving dependencies

   Entonces comente PYTHON_TARGETS y PYTHON_SINGLE_TARGET

Cualquier ayuda o consejo gracias de antemano.

----------

## quilosaq

Habría que saber cómo tienes asignadas esas variables:

```
emerge --info | grep PYTHON
```

Posiblemente la solución es poner temporalmente estas líneas en /etc/portage/package.use (como dice la news Python 3.7 to become the default target):

 *Quote:*   

> */* PYTHON_TARGETS: python3_6 python3_7
> 
> */* PYTHON_SINGLE_TARGET: -* python3_6

 

----------

## carlos plaza

Gracias quilosaq

 *Quote:*   

> Habría que saber cómo tienes asignadas esas variables:
> 
> ```
> emerge --info | grep PYTHON
> ```
> ...

 

```
emerge --info | grep PYTHON

USE="Flac X a52 aac aalib acl acpi alisp alsa amd64 analyzer apache2 appstream bazaar bcmath berkdb bidi bl bluetooth branding bs2b bzip2 cairo calendar cdda cddb cdparanoia cdr cgi cgroups cli cover cpudetection crossfade crypt ctype cue cups curl dbus deprecated dga display-manager dmalloc down-root dri dropbox dts dv dvb dvd dvdr eds elogind emboss enca encode evdev exif extras faac faad fbcon fbcondecor ffmpeg firebird flac fortran fpm ftp game gdbm ggi gif git gnome-keyring gnutls googledrive gpm grub gsm gstreamer gtk gtk2 gtk3 gtk4 handbook hddtemp hwdb ibus iconv icu intl introspection iodbc ipv6 java jpeg json kde kerberos kmod ladspa lcms ldap legacy-systray libcaca libmpeg2 libnotify librsync-bundled libtirpc lirc live lm_sensors lyrics lzo mad md5sum mercurial mesh mms mng modplug mount-locking mp3 mp4 mpeg mtp multilib musepack mysqli nas natspec ncurses nls notifier nptl nss nut obex ogg openal opengl openmp opus pango pch pcre pdf pdfimport pdo phar plymouth pm-utils png pnm policykit postgres ppds projectm pulseaudio pvr python qsui qt4 qt5 qtmedia radio rar readline rtc rtmp rule-generator samba sasl scrobbler scrypt sddm sdk sdl seccomp sid sndfile soap soxr speex spell split-usr sqlite ssl startup-notification stereo subversion svg tcpd test-programs tga theora tiff toolame touchpad tray tremor truetype twolame udev udisks unicode upower usb vcd vlc vnc vorbis wallpapers wav wavpack wext wifi wxwidgets x264 xattr xcb xcomposite xinerama xml xv xvid xvmc yuv4mpeg zlib zoran zstd" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" APACHE2_MPMS="worker" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="avx mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="synaptics libinput" KERNEL="linux" L10N="es" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" POSTGRES_TARGETS="postgres10 postgres11" 

PYTHON_SINGLE_TARGET="python3_7"  PYTHON_TARGETS="python2_7 python3_7"

 RUBY_TARGETS="ruby24 ruby25" USERLAND="GNU" VIDEO_CARDS="amdgpu fbdev intel nouveau radeon radeonsi vesa dummy v4l" XFCE_PLUGINS="brightness clock trash" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

```

Posiblemente la solución es poner temporalmente estas líneas en /etc/portage/package.use (como dice la news Python 3.7 to become the default target):

 *Quote:*   

> */* PYTHON_TARGETS: python3_6 python3_7
> 
> */* PYTHON_SINGLE_TARGET: -* python3_6

 

para mi sistema /etc/portage/package.use   es un directorio ¿que nombre debería de tener el archivo? allí es donde me enredo ya que no se que nombre debe tener, puse python y no le gusto  :Embarassed: 

----------

## quilosaq

 *carlos plaza wrote:*   

> ...
> 
> ¿que nombre debería de tener el archivo? allí es donde me enredo ya que no se que nombre debe tener, puse python y no le gusto
> 
> ...

 Cualquier nombre de archivo debería valer si solo tienes un archivo. Si tienes varios deberías ponerlo en uno que alfabéticamete fuera el último. ¿Qué mensaje de error te salía cuando usaste como nombre de archivo phyton?

----------

## carlos plaza

quilosaq

 *Quote:*   

> nano -w /etc/portage/package.use/python
> 
> */* PYTHON_TARGETS: -python3_7 python3_6
> 
> */* PYTHON_SINGLE_TARGET: -* python3_6
> ...

 

```
emerge --update --deep --newuse -atv @world

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

Calculating dependencies \

!!! Problem resolving dependencies for dev-lang/yasm from @selected

... done!

!!! The ebuild selected to satisfy "dev-lang/yasm" has unmet requirements.

- dev-lang/yasm-1.3.0::gentoo USE="nls python" ABI_X86="(64)" PYTHON_SINGLE_TARGET="-python2_7"

  The following REQUIRED_USE flag constraints are unsatisfied:

    python? ( python_single_target_python2_7 )

  The above constraints are a subset of the following complete expression:

    python? ( exactly-one-of ( python_single_target_python2_7 ) )

(dependency required by "@selected" [set])

(dependency required by "@world" [argument])

```

----------

## quilosaq

La primera línea está mal, tienes que quitar el signo menos (-).

Debe ser:

*/* PYTHON_TARGETS: python3_6 python3_7

(también sirve */* PYTHON_TARGETS: python3_7 python3_6)

en lugar de:

*/* PYTHON_TARGETS: -python3_7 python3_6

Para la segunda línea prueba a poner:

*/* PYTHON_SINGLE_TARGET: -* python2_7 python3_6

en lugar de:

*/* PYTHON_SINGLE_TARGET: -* python3_6

----------

## carlos plaza

Gracias quilosaq

Siguiendo tu recomendación

```

emerge --update --deep --newuse -atv @world

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

Calculating dependencies... done!

!!! The ebuild selected to satisfy ">=media-libs/alsa-lib-1.0.19" has unmet requirements.

- media-libs/alsa-lib-1.2.2-r1::gentoo USE="alisp python thread-safety -debug -doc" ABI_X86="32 (64) (-x32)" PYTHON_SINGLE_TARGET="python2_7 python3_6 -python3_7 (-python3_8)"

  The following REQUIRED_USE flag constraints are unsatisfied:

    python? ( exactly-one-of ( python_single_target_python2_7 python_single_target_python3_6 python_single_target_python3_7 python_single_target_python3_8 ) )

(dependency required by "media-sound/pulseaudio-13.0::gentoo[alsa]" [installed])

(dependency required by "xfce-extra/xfce4-volumed-pulse-0.2.3::gentoo" [installed])

(dependency required by "@selected" [set])

(dependency required by "@world" [argument])

```

  :Rolling Eyes:   :Question:   :Question:   :Question: 

----------

## quilosaq

Creo que no es buen camino. Es preferible hacer caso a la news. Pon las 2 línea tal como lo pone en la news:

 *Quote:*   

> */* PYTHON_TARGETS: python3_6 python3_7
> 
> */* PYTHON_SINGLE_TARGET: -* python3_6

 

Te saldrán paquetes que no se pueden actualizar. Tendrás que ir excluyéndolos con la opción --exclude de emerge.

----------

## carlos plaza

Gracias quilosaq

 *Quote:*   

> 
> 
> Te saldrán paquetes que no se pueden actualizar. Tendrás que ir excluyéndolos con la opción --exclude de emerge.

 

Me tuve que re-leer el man de emerge  pero no encuentro y no se utilizar  la opción --exclude   :Embarassed:   :Embarassed: 

----------

## quilosaq

Tienes que lanzar emerge como lo hagas normalmente:

```
emerge --update --deep --newuse -atv @world 
```

Si te aparece que el ebuild xxx no se puede instalar por lo que sea, vuelves a lanzar emerge pero ahora con la opción excude para ese paquete:

```
emerge --update --deep --newuse -atv --exclude xxx @world
```

Si ahora te sale que el problema es con el paquete yyy lanzas:

```
emerge --update --deep --newuse -atv --exclude xxx --exclude yyy @world
```

Y así hasta que desaparezcan los errores.

----------

## carlos plaza

Gracias quilosaq

 *Quote:*   

> emerge --update --deep --newuse -atv --exclude xxx --exclude yyy @world

 

Y así hasta que desaparezcan los errores.[/quote]

mi error era que puse  *Quote:*   

> emerge --update --deep --newuse -atv @world --exclude xxx

 

Ok la salida 

```
emerge --update --deep --newuse -atv --exclude dev-lang/yasm --exclude dev-util/anjuta --exclude media-gfx/gimp --exclude media-libs/libgpod --exclude net-analyzer/nmap --exclude net-analyzer/rrdtool --exclude net-irc/telepathy-idle --exclude media-libs/libcaca --exclude dev-libs/libnatspec --exclude app-pda/libplist @world

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

Calculating dependencies... done!

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

dev-python/more-itertools:0

  (dev-python/more-itertools-7.0.0:0/0::gentoo, ebuild scheduled for merge) USE="-doc" ABI_X86="(64)" PYTHON_TARGETS="python3_6 python3_7 (-pypy3) (-python3_8)" pulled in by

    (no parents that aren't satisfied by other packages in this slot)

  (dev-python/more-itertools-5.0.0:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 python3_7 (-pypy3) (-python3_8)" pulled in by

    >=dev-python/more-itertools-4.0.0[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] required by (dev-python/pytest-4.6.9:0/0::gentoo, ebuild scheduled for merge) USE="-test" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 python3_7 (-pypy3) (-python3_8)"

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  

    dev-python/more-itertools[python_targets_pypy3(-)?,python_targets_python2_7(-)?,python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_pypy3(-),-python_single_target_python2_7(-),-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] required by (dev-python/zipp-1.0.0:0/0::gentoo, ebuild scheduled for merge) USE="-doc -test" ABI_X86="(64)" PYTHON_TARGETS="python2_7 python3_6 python3_7 (-pypy3) (-python3_8)"

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

It may be possible to solve this problem by using package.mask to

prevent one of those packages from being selected. However, it is also

possible that conflicting dependencies exist such that they are

impossible to satisfy simultaneously.  If such a conflict exists in

the dependencies of two different packages, then those packages can

not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man

page or refer to the Gentoo Handbook.

!!! All ebuilds that could satisfy "app-pda/libplist[python(-),python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)]" have been masked.

!!! One of the following masked packages is required to complete your request:

- app-pda/libplist-2.1.0::gentoo (masked by: exclude option)

(dependency required by "app-pda/libimobiledevice-1.2.1_pre20200220::gentoo" [ebuild])

(dependency required by "app-pda/usbmuxd-1.1.1_pre20200121::gentoo" [ebuild])

(dependency required by "@selected" [set])

(dependency required by "@world" [argument])
```

  :Embarassed:   :Question:   :Question: 

----------

## quilosaq

Añade tambien a los paquetes a excluir:

dev-python/more-itertools

app-pda/usbmuxd

A ver si progresa.

----------

## carlos plaza

Gracias quilosaq

La mejor salida

```
emerge --update --deep --newuse -atv --exclude dev-lang/yasm --exclude dev-util/anjuta --exclude media-gfx/gimp --exclude media-libs/libgpod --exclude net-analyzer/nmap --exclude net-analyzer/rrdtool --exclude net-irc/telepathy-idle --exclude media-libs/libcaca --exclude dev-libs/libnatspec @world                                       

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

Calculating dependencies... done!

[nomerge       ] dev-db/phpmyadmin-4.9.5:4.9.5::gentoo  USE="-setup -vhosts" 

.

.

.

Total: 215 packages (30 upgrades, 1 downgrade, 6 new, 178 reinstalls), Size of downloads: 1.183.763 KiB

!!! Multiple package instances within a single package slot have been pulled

!!! into the dependency graph, resulting in a slot conflict:

app-pda/libplist:0

  (app-pda/libplist-2.0.0:0/3.1.0::gentoo, installed) USE="python -static-libs" ABI_X86="(64)" PYTHON_TARGETS="python3_6 -python3_7 (-python3_8)" pulled in by

    >=app-pda/libplist-1.0:0/3.1.0= required by (media-libs/libgpod-0.8.3-r2:0/0::gentoo, installed) USE="gtk python udev -ios -mono -static-libs" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python2_7"

                          ^^^^^^^^^                                                                                                                                                                                                                                                                                                                                                           

    >=app-pda/libplist-1.8:0/3.1.0= required by (app-pda/ideviceinstaller-1.1.0:0/0::gentoo, installed) USE="" ABI_X86="(64)"

                          ^^^^^^^^^                                                                                                                                                 

    (and 1 more with the same problems)

  (app-pda/libplist-2.1.0:0/3::gentoo, ebuild scheduled for merge) USE="python -static-libs" ABI_X86="(64)" PYTHON_TARGETS="python3_6 python3_7 (-python3_8)" pulled in by

    >=app-pda/libplist-2.1.0:= required by (app-pda/libusbmuxd-2.0.1:0/6::gentoo, ebuild scheduled for merge) USE="-static-libs" ABI_X86="(64)"

    ^^                 ^^^^^                                                                                                                                                                                                                                   

    app-pda/libplist[python(-),python_targets_python3_6(-)?,python_targets_python3_7(-)?,python_targets_python3_8(-)?,-python_single_target_python3_6(-),-python_single_target_python3_7(-),-python_single_target_python3_8(-)] required by (app-pda/libimobiledevice-1.2.1_pre20200220:0/6::gentoo, ebuild scheduled for merge) USE="gnutls python -doc -libressl -static-libs" ABI_X86="(64)" PYTHON_TARGETS="python3_6 python3_7 (-python3_8)"

                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             

NOTE: Use the '--verbose-conflicts' option to display parents omitted above

!!! The slot conflict(s) shown above involve package(s) which may need to

!!! be rebuilt in order to solve the conflict(s). However, the following

!!! package(s) cannot be rebuilt for the reason(s) shown:

  (media-libs/libgpod-0.8.3-r2:0/0::gentoo, installed): matched by --exclude argument

It may be possible to solve this problem by using package.mask to

prevent one of those packages from being selected. However, it is also

possible that conflicting dependencies exist such that they are

impossible to satisfy simultaneously.  If such a conflict exists in

the dependencies of two different packages, then those packages can

not be installed simultaneously. You may want to try a larger value of

the --backtrack option, such as --backtrack=30, in order to see if

that will solve this conflict automatically.

For more information, see MASKED PACKAGES section in the emerge man

page or refer to the Gentoo Handbook.

```

----------

## quilosaq

Desinstala app-pda/libplist.

----------

## carlos plaza

Gracias quilosaq

Resumiendo luego del ultimo mensaje que puse, gracias a la ayuda del amigo quilosaq y a la wiki hice lo siguiente:

```

emerge -C dev-python/more-itertools

emerge -C media-libs/libgpod

emerge -C app-pda/gtkpod

emerge --ask --oneshot =app-pda/libplist-2.1.0 app-pda/libusbmuxd

```

Al finalizar el ultimo emerge, procedí con

```

emerge --update --deep --newuse -atv --exclude dev-lang/yasm --exclude dev-util/anjuta --exclude media-gfx/gimp --exclude media-libs/libgpod --exclude net-analyzer/nmap --exclude net-analyzer/rrdtool --exclude net-irc/telepathy-idle --exclude media-libs/libcaca --exclude dev-libs/libnatspec @world

```

Estoy en la espera de que termine la compilación.

----------

## carlos plaza

Ya termino la actualización, pero ahora quedan los paquetes: *Quote:*   

>  dev-lang/yasm
> 
> exclude dev-util/anjuta
> 
> exclude media-gfx/gimp
> ...

 

y estos paquetes piden

 *Quote:*   

> PYTHON_SINGLE_TARGET="-python2_7

 

 :Question:   :Question:   :Question: 

No puedo correr normal emerge --update --deep --newuse -atv @world  por las dependencias de  python2_7

Desintale dev-lang/yasm y ahora no puedo volver a instalar *Quote:*   

> !!! Problem resolving dependencies for dev-lang/yasm
> 
> ... done!
> 
> !!! The ebuild selected to satisfy "dev-lang/yasm" has unmet requirements.
> ...

 

----------

## carlos plaza

Solución para los paquetes con la dependencias PYTHON_SINGLE_TARGET: -* python2_7 

crear dentro del package.use ejemplo:

```
dev-lang/yasm PYTHON_SINGLE_TARGET: -* python2_7

```

----------

## quilosaq

El archivo que creaste en /etc/portage/package.use (python si has mantenido el nombre que dijiste) conteniendo:

 *Quote:*   

> */* PYTHON_TARGETS: python3_6 python3_7
> 
> */* PYTHON_SINGLE_TARGET: -* python3_6

 es solo una configuración temporal para actualizar los paquetes que tengas y que sean dependientes de python3.6. Se supone que ese paso está conseguido.

Ahora lo que toca es eliminar ese archivo y eliminar las variables PYTHON_TARGETS y PYTHON_SINGLE_TARGET de tu make.conf (aunque no deberías tenerlas definidas ahí) y dejar que sean asignadas por los archivos del perfil. Cuando tengas hechas ambas cosas debes hacer una actualización "normal"

```
emerge --update --deep --newuse -atv @world 
```

Te pueden aparecer paquetes que no sean compatibles con python2.7 o python3.7. Esos paquetes y los que dependan de ellos no se podrán actualizar y tendrás que excluirlos de la actualización o desinstalarlos.

----------

## carlos plaza

Mil Gracias quilosaq

 *quilosaq wrote:*   

> El archivo que creaste en /etc/portage/package.use (python si has mantenido el nombre que dijiste) conteniendo:
> 
>  *Quote:*   */* PYTHON_TARGETS: python3_6 python3_7
> 
> */* PYTHON_SINGLE_TARGET: -* python3_6 es solo una configuración temporal para actualizar los paquetes que tengas y que sean dependientes de python3.6. Se supone que ese paso está conseguido.
> ...

 

Tal cual como me expusiste borre y comencé una nueva actualización normal (144 paquetes)  :Wink: 

----------

## carlos plaza

Mil Gracias quilosaq

 Resuelto las dependencias con python2_7 

----------

