【问题标题】:No module named flask.__main__ with global interpreter (OK with virtualenv)没有带有全局解释器的名为 flask.__main__ 的模块(可以使用 virtualenv)
【发布时间】:2017-01-06 18:56:37
【问题描述】:

我知道使用虚拟环境是最佳做法,但我只想自己解决这个问题。所以这就是故事。 我有一个 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

请注意,同样的命令在虚拟环境中运行完美:

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

有什么区别?

【问题讨论】:

  • 你难道没有一个名为flask 的包在D:\Development\stempal\python 中吗?这可能是为什么奇怪的错误消息。但是您的两个虚拟环境之间可能仍然存在差异。比较virtualenv内外pip freeze的输出。
  • 不,附近没有flask 包。但是,您对差异的评论帮助我解决了这个问题!事实证明,在我的虚拟环境之外,Flask 已经过时了,而旧版本根本没有 flask 命令。非常感谢,@jbacko

标签: python flask virtualenv


【解决方案1】:

感谢@jbasko,我开始比较virtualenv 内外的包列表。原来我的flask 包已经过时了,正如提到的in this question 它没有flask 命令。 升级 Flask 解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-24
    • 2016-09-27
    • 1970-01-01
    • 2014-01-30
    • 2014-01-16
    • 1970-01-01
    • 2017-06-22
    相关资源
    最近更新 更多