[Python] Modulo ImportError

Dario Bertini berdario a gmail.com
Dom 23 Feb 2014 14:00:47 CET


On 02/23/2014 12:17 PM, Dr.Cuga wrote:
> Salve. Ho installato il modulo "tkSnack" con Software Center; convertito
> con 2to3 ed importato correttamente in uno script:
> 
> import tkinter as tk
> from tkSnack import *
> 
> Ricevo questo errore:
> 
> File ".../Sorgenti/tkSnack-Example.py", line 105, in <module> builtins.
> ImportError: No module named 'tkSnack'
> 
> La cosa che non quadra é che se da shell entro nella dir
> '/usr/share/pyshared' dove é contenuto il modulo in questione ed importo
> il modulo in modo interattivo non ricevo alcun errore:
> 
> [12:13:29] amedeo at amedeo-P5Q:/usr/share/pyshared$ python3.3
> Python 3.3.2+ (default, Oct  9 2013, 14:50:09)
> [GCC 4.8.1] on linux
> Type "help", "copyright", "credits" or "license" for more information.
>>>> from tkSnack import *
>>>>
> 
> come mai la dir '/usr/share/pyshared' non é nel PATH? Come risolvere?
> 


sul serio hai modificato con 2to3 una libreria di sistema? (immagino tu
abbia dovuto usare sudo), comunque:


- usa futurize piuttosto che 2to3: [1]
- pyshared è per moduli python condivisibili fra diverse versioni [2],
ma viste le differenze fra python2 e python3, non ha senso cercare di
tenerli tutti in un unico posto. Difatti per python3 dovrebbe esistere
py3shared [3], ma sulla mia ubuntu non è neanche presente... in linea di
massima, i moduli vengono presi da /usr/lib/pythonX.X/{dist,site}-packages
- i pacchetti della distribuzione sono utili per installare
qualcosa/fare un deploy se i tuoi sistemi sono omogenei e hai già tutto
pacchettizato, ma per sviluppare ti conviene scaricare i sorgenti del
progetto [4] (sarebbe il caso che qualcuno ne crei un mirror su un DVCS)
e tirare in piedi un virtualenv [5] (shameless plug: [6])
- se vuoi aggiungere una directory al tuo path, puoi farlo in diversi
modi... modificando sys.path, oppure con `env PYTHONPATH="/il/tuo/path"
python3`



[1] http://python-future.org/automatic_conversion.html
[2]
https://www.debian.org/doc/packaging-manuals/python-policy/ch-python.html
[3] https://wiki.ubuntu.com/Python2.6And3.0
[4] http://www.speech.kth.se/snack/dist/snack2.2.10.tar.gz
[5] www.virtualenv.org
[6] https://github.com/berdario/invewrapper


-- 
xmpp: berdario at gmail.com
bitmessage: BM-2cTYXfGiSTsnx3righ6aHcJSWe4MV17jDP
gpg fingerprint: 3F8D53518012716C4EEF7DF67B498306B3BF75A0 (used just
for signing commits)


Maggiori informazioni sulla lista Python