question PYTHONPATH? « Python2.5: ne peut pas ouvrir le fichier « dev_appserver.py »: [Errno 2] Aucun fichier ou répertoire »

StackOverflow https://stackoverflow.com/questions/2750496

Question

J'ajouté cette ligne à mon .bashrc (Ubuntu 9.10):

export PYTHONPATH=/opt/google_appengine/

Et puis je courais le dev_appserver par python2.5 sur Ubuntu comme ceci:

$ python2.5 dev_appserver.py guestbook/
python2.5: can't open file 'dev_appserver.py': [Errno 2] No such file or directory

Comme vous pouvez le voir, il ne peut pas trouver dev_appserver.py même si elle est dans mon répertoire /opt/google_appengine/. Juste pour vous assurer qu'il n'y a pas un problème d'autorisations Je l'ai fait:

sudo chmod a+rwx dev_appserver.py

Pour vérifier si elle a été ajoutée au chemin du système pour python2.5 Je l'ai fait:

$ python2.5
Python 2.5.5 (r255:77872, Apr 29 2010, 23:59:20) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import sys
>>> for line in sys.path: print line
... 

/usr/local/lib/python2.5/site-packages/setuptools-0.6c9-py2.5.egg
/opt/google_appengine/demos
/opt/google_appengine
/usr/local/lib/python25.zip
...

Le répertoire apparaît dans cette liste, donc je ne comprends pas pourquoi il ne peut pas être trouvé quand je tape:

$ python2.5 dev_appserver.py guestbook/

Je suis nouveau à Python, donc je vous serais reconnaissant de toute aide. Merci.

Était-ce utile?

La solution

Python ne respecte pas PYTHONPATH lors de la recherche pour le nom d'un script sur la ligne de commande. Vous avez besoin soit de fournir le chemin complet vers dev_appserver.py, ou modifier la première ligne de dev_appserver.py (et d'autres outils) pour commencer « #!/usr/bin/env python2.5 ».

Autres conseils

Quand vous faites

$ python2.5 dev_appserver.py guestbook/

ce que vous passez à l'python2.5 exécutable est CURRENT_PATH/dev_appserver.py.

Vous devez exécuter à l'aide

$ python /opt/google_appengine/dev_appserver.py guestbook/

ou

$ dev_appserver.py guestbook/

si dev_appserver.py a tralala pour Python , qui est, Nick Johnson rappelle , #!/usr/bin/env python2.5 ou #!/usr/bin/env python.

Sauf si vous avez une très bonne raison, ne spécifiez pas sur la version python, utilisez la commande python générique, qui est un lien symbolique vers la dernière version.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top