# [Python 2.7] Nessun modo per far funzionare Tkinter

## telebabbo

Ho due installazioni dell'interprete, python-2.7.1-r1 e python-3.1

Ho fatto l'unmerge e emerge --newuse python3 con il flag USE="tk" e tutto funziona bene.

Il problema però resta sulla 2.7.1

```
Python 2.7.1 (r271:86832, Jul  5 2011, 22:42:05) 

[GCC 4.4.5] on linux2

Type "help", "copyright", "credits" or "license" for more information.

>>> import Tkinter

Traceback (most recent call last):

  File "<stdin>", line 1, in <module>

ImportError: No module named Tkinter

>>> 

```

Ho provato a fare un nuovo emerge di python con il flag USE="tk" ma restituisce:

```
USE="tk" emerge --newuse python
```

```
Calculating dependencies... done!

>>> Recording dev-lang/python in "world" favorites file...

>>> Auto-cleaning packages...

>>> No outdated packages were found on your system.
```

"tk" si trova anche nel mio /etc/make.conf

Idee?

tb

UPDATE

Le versioni di python installate

```
$eselect python list

Available Python interpreters:

  [1]   python2.7 *

  [2]   python3.1

```

```
$qpkg python

 - dev-lang/python-2.7.1-r1:
```

Quindi ho pensato a fare unmerge/emerge di quel pacchetto specifico, ma non va:

```
emerge --unmerge dev-lang/python-2.7.1-r1

 * This action can remove important packages! In order to be safer, use

 * `emerge -pv --depclean <atom>` to check for reverse dependencies before

 * removing packages.

 * [b]Not unmerging package dev-lang/python-2.7.1-r1 since there is no valid

 * reason for Portage to unmerge currently used Python interpreter[/b].

>>> No packages selected for removal by unmerge
```

Saluti!

----------

## telebabbo

Problema risolto ricompilando il sorgente fuori da portage.

Lascio il topic "unsolved" nella speranza che qualcuno possa postare una soluzione via portage!

Bella

----------

## djinnZ

Prima cosa le versioni che hai sono datate, il 2.7.2-r3 ed il 3.1.4-r3 non dovrebbero avere questo problema. e se vuoi tenere tutti e due USE="python2 python3" al massimo (ma per quel che so portage non gradisce il 3)

Adesso non posso verificare ma se viene da tk devi "slottarlo".

Copi il pacchetto con un altro nome sull'overlay, lo modifichi per installare solo le librerie python e lo installi senza USE="python3" o viceversa.

L'uno esclude l'altro.

Se è parte di python, come credo, invece potresti provare creando i pacchetti binari. Crei il binario del 3, lo disinstalli, crei il binario del 2 (con USE="-python3") reinstalli il 3 e poi forzi la reinstallazione del 2

```
quickpkg --include-config=y --include-unmodified-config=y =dev-lang/python-3.1.4-r3

emerge -C =dev-lang/python-3.1.4-r3

USE="-python3" emerge -1aNDu =dev-lang/python-2.7.2-r3

USE="-python3" emerge -1 =dev-lang/python-2.7.2-r3

quickpkg --include-config=y --include-unmodified-config=y =dev-lang/python-2.7.2-r3

emerge -aDNUv @world

emerge -1OgK =dev-lang/python-2.7.2-r3

emerge -1OgK =dev-lang/python-3.1.4-r3
```

 o qualcosa del genere.

Non puoi eliminare python 2.7 dal sistema se non lo deselezioni come interprete corrente (ma puoi aggiornarlo).

Apri un bug e chiedi ai devel di risolvere il problema. Se tkinter è parte di python un bug lo è.

----------

