[Python] Percorso di ricerca moduli.

Alessandro Dentella sandro a e-den.it
Ven 12 Dic 2014 16:07:45 CET


On Fri, Dec 12, 2014 at 02:22:40PM +0000, enrico franchi wrote:
> 2014-12-12 14:08 GMT+00:00 Alessandro Dentella <sandro a e-den.it>:
> >
> >
> > > Qualche indizio per orientarmi verso la soluzione?
> >
> >
> > Analizzare os.path
> 
> 
> E, per inciso, la soluzione *non* e' smacchinare con il path (non e'
> os.path, che e' poveraccio solo un modulo).

ok, per distrazione ho scritto os.path invece che sys.path
Il senso era ovviamente quello che il modo di debuggare dove sta il
problema è di analizzare sys.path. Se un modulo non è nel sys.path non
viene visto se sta lì deve essere visto. PYTHONPATH è *un* modo di
manipolare il sys.path:

sandro a bluff:~$ PYTHONPATH=/tmp/my/funny/path ipython --no-banner

  In [1]: import sys

  In [2]: sys.path
  Out[2]: 
  ['',
   '/usr/bin',
   '/tmp/my/funny/path',
   '/usr/lib/python2.7',
   ...



> La soluzione e' usare virtualenv, setup.py, pip e compagnia.

dipende. PYTHONPATH è comodo se ad esempio vuoi provare un pacchetto
senza installarlo, magari prorpio per vedere le differenze fra due rel
delo stesso pacchetto.


Puoi anche essere già un in virtualenv e usare PYTONPATH per dare la
precedenza ad una versione che vuoi testare senza toccare altro.

sandro


Maggiori informazioni sulla lista Python