3

我将此行添加到我的 .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 新手,所以我将不胜感激。谢谢。

4

2 回答 2

4

在命令行中查找您命名的脚本时,Python 不会遵守 PYTHONPATH。您要么需要提供 dev_appserver.py 的完整路径,要么将 dev_appserver.py(和其他工具)的第一行修改为以“ #!/usr/bin/env python2.5”开头。

于 2010-05-01T15:36:17.950 回答
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/

if对 Pythondev_appserver.py有一个shebang ,也就是说,正如 Nick Johnson 指出的那样,或者.#!/usr/bin/env python2.5#!/usr/bin/env python

除非你有很好的理由,否则不要过度指定 python 版本,使用通用python命令,即指向最新版本的符号链接。

于 2010-05-01T15:37:25.437 回答