3

この行を.bashrc(Ubuntu 9.10)に追加しました:

export PYTHONPATH=/opt/google_appengine/

そして、Ubuntuで次のようにdev_appserverをpython2.5で実行しました。

$ 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/

Pythonのシバンdev_appserver.pyがある場合、つまり、Nick Johnsonが指摘しているように、または。 #!/usr/bin/env python2.5#!/usr/bin/env python

非常に正当な理由がない限り、Pythonのバージョンを指定しすぎないでください。一般的なpythonコマンドを使用してください。これは、最新バージョンへのシンボリックリンクです。

于 2010-05-01T15:37:25.437 に答える