2016-08-05 19 views
2

a Flask tutorialを読んだとき、私は通常python run.pyではなくchmod a+x run.pyと入力してから./run.pyと尋ねました。私は著者の指示を無視してpython run.pyを実行すると、私はImportErrorを得た(私はこのエラーがvitrualanvとは何かを持っている疑いがある。)Pythonスクリプトを実行する

だから私の質問は次のとおりです。

./run.py 

の違いは何ですか
python run.py 

答えて

3

あなたの疑惑は正しいと思います。彼はvirtualenvのはflaskと呼ば作成する方法に注目してください:

virtualenv flask 

run.pyには、次のものが含まれています

#!flask/bin/python 
from app import app 
app.run(debug=True) 

最初の行は、著者がPythonのバイナリがflask/bin/pythonから実行されなければならないことを規定しているshebang、と呼ばれています。代わりにpython run.pyを実行すると、システムのデフォルトのPythonバイナリが使用されます。 activating the virtualenvでこれを解決するには、source bin/activateに電話してください。

$ flask/bin/python run.py 

$ ./run.py 

をと等価である:それは実行するとことを意味

#!flask/bin/python 

:または明示的flask/bin/python run.py

1

を呼び出すことによって、ファイルの最初の行を見てみましょうフラスコ/ bin/pythonは仮想環境にあるので、異なるモジュールがインストールされています。

関連する問題