2017-01-06 1 views
3

仮想環境を使用することがベストプラクティスですが、私は自分自身で問題を解決したいと思います。だからここにその話がある。 私はFlaskアプリケーションを持っており、仮想環境をセットアップしており、Windows上ですべてを実行しています。どちらが素晴らしい?私は私の仮想1と同じである私のグローバルPythonインタプリタと非常に同じアプリを実行する場合 しかし - 私はこのエラーを取得:フラスコという名前のモジュールがありません.____ main__グローバルインタープリタを使用しています(virtualenvでOK)

D:\Development\stempal>python -m flask run 
C:\Anaconda3\python.exe: No module named flask.__main__; 'flask' is a package and cannot be directly executed 

非常に同じコマンドが仮想環境で完全に実行することに注意してください:

(venv) D:\Development\stempal>python -m flask run 
* Serving Flask app "flask_app" 
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit) 

どのような違いがありますか?

+1

'D:\ Development \ stempal \ python'の周りに'フラスコ 'と呼ばれるパッケージがありませんか?それはなぜ奇妙なエラーメッセージであるのでしょうか。しかし、あなたはおそらくあなたの2つのvirtualenvsの違いがあります。 virtualenvの内側と外側の 'pip freeze'の出力を比較してください。 – jbasko

+0

いいえ、フラスコパッケージはどこにもありませんでした。しかし、相違についてのあなたのコメントは私がそれを解決するのに役立ちました!私の仮想環境の外では、Flaskは古くなっていて、古いバージョンは単純に 'flask'コマンドを持っていなかったことが判明しました。多くのありがとう@jbacko –

答えて

0

@ jbaskoのおかげで、私はvirtualenvの内側と外側のパッケージリストを比較し始めました。私のflaskパッケージが期限切れであったことがわかりました。in this questionにはflaskというコマンドがありませんでした。 Flaskをアップグレードすると問題が解決しました。

関連する問題