我将此行添加到我的.bashrc(Ubuntu 9.10):
export PYTHONPATH=/opt/google_appengine/
然后我在Ubuntu上通过python2.5运行dev_appserver,如下所示:
$ python2.5 dev_appserver.py guestbook/
python2.5: can't open file 'dev_appserver.py': [Errno 2] No such file or directory
正如您所看到的,即使它位于我的dev_appserver.py
目录中,它也找不到/opt/google_appengine/
。为了确保它不是权限问题,我这样做了:
sudo chmod a+rwx dev_appserver.py
要检查它是否已添加到python2.5的系统路径中,我这样做了:
$ 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
...
目录显示在此列表中,因此我不明白为什么在键入时找不到它:
$ python2.5 dev_appserver.py guestbook/
我是Python的新手,所以我很感激任何帮助。感谢。
答案 0 :(得分:4)
在查找命令行中命名的脚本时,Python不会观察到PYTHONPATH。您需要提供dev_appserver.py的完整路径,或者修改dev_appserver.py(和其他工具)的第一行以“#!/usr/bin/env python2.5
”开头。
答案 1 :(得分:1)
做的时候
$ python2.5 dev_appserver.py guestbook/
您传递给可执行文件python2.5
的内容是CURRENT_PATH/dev_appserver.py
。
您必须使用
执行$ python /opt/google_appengine/dev_appserver.py guestbook/
或
$ dev_appserver.py guestbook/
如果dev_appserver.py
有shebang for Python,即as Nick Johnson points out,#!/usr/bin/env python2.5
或#!/usr/bin/env python
。
除非你有充分的理由,否则不要过度指定python版本,使用通用python
命令,即最新版本的符号链接。