没有带有全局解释器的名为 flask.__main__ 的模块(可以使用 virtualenv)

No module named flask.__main__ with global interpreter (OK with virtualenv)

我知道使用虚拟环境是最佳做法,但我只想自己解决这个问题。这就是故事。 我有一个 Flask 应用程序,已经设置了一个虚拟环境,我正在 运行 将所有内容都放在 Windows 上。效果很好! 但是,如果我 运行 与我的全局 Python 解释器完全相同的应用程序 与我的虚拟解释器相同 - 我收到此错误:

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

请注意,在虚拟环境中完全相同的命令 运行s:

(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)

有什么区别?

感谢@jbasko,我开始比较virtualenv 内外的包列表。原来我的 flask 包已经过时了,并且如前所述 它没有 flask 命令。 升级 Flask 解决了问题。