【问题标题】:No module named flask using virtualenv没有使用 virtualenv 的名为 flask 的模块
【发布时间】:2013-12-06 00:59:38
【问题描述】:

我正在按照这些步骤来学习烧瓶http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world/page/0#comments

我运行这个命令来创建虚拟环境:

python virtualenv.py flask

当我尝试使用我的项目脚本目录中的 python.exe 文件启动烧瓶时,它说

No module named flask

我的 PATH 设置为 virtualenv 安装的 python 目录。为什么找不到烧瓶?

我最初是从官方的 Flask 快速入门指南开始的,并且能够让网络服务器运行,但是使用这个虚拟环境安装它无法正常工作。

【问题讨论】:

  • 您是否还执行了列出的pip install 命令?
  • 这就是问题所在。谢谢!

标签: python flask virtualenv


【解决方案1】:

确保您的 virtualenv 已激活。然后你检查那个 virtualenv 的PYTHONPATH。该目录下是否安装了flask包(文件夹)。

如果你不确定你是否安装了flask,只需运行以下命令即可查看你安装的所有包pip listpip show flask。你看到那里的烧瓶了吗?如果没有,你可以运行pip install flask

【讨论】:

  • 我没有在虚拟环境目录中安装flask。我认为烧瓶会起作用,因为我之前将它安装在 /bin 中。对于本教程,我运行了这个命令,它可以工作:flask/bin/pip install flask==0.9 谢谢!
  • 这里的主要问题——也是大多数用户的主要问题——不是没有激活virutalenv。事实上,链接的教程建议不要打扰这个功能。问题是 flask 没有安装在 venv 中。应编辑接受的答案以反映这一点。
【解决方案2】:

如果您使用./run.py 启动 Flask python 服务器或类似地使用文件关联启动服务器,也会出现此错误。然后将使用关联中的 python 命令代替您的虚拟环境 python 命令。请改用python run.py。看看我的 run.py 如何无辜地假设 /usr/bin/python?

#!/usr/bin/python
# run.py
from app import app
app.run(debug=True,host='0.0.0.0',port=5000)

【讨论】:

  • 对我来说,如果我从命令行将调试标志设置为 true,就会发生这种情况。以编程方式设置调试标志根本不起作用。
【解决方案3】:

我在三个 Raspberry Pi 设备上同时遇到了同样的问题;把我的头撞在墙上试图修复它几个小时(通过 pip、apt 和 aptitude 重新安装烧瓶 - 不高兴)。

代替:

pip install flask

我终于试过了:

pip install Flask

工作就像一个魅力。

【讨论】:

  • 挖了又挖,终于试了这个。甚至不确定是什么促使我尝试没有 cmets 也没有投票的东西。我卸载了flask,然后安装了Flask,然后砰……什么给了?谢谢!
【解决方案4】:

确保在您激活 virtualenv 之后运行您的脚本。在 OS X 上,您会在每个终端行的开头看到 (virtual_env_name)。为此:

cd 到你的 virtualenv 目录并输入 . bin/activate

cd 到包含您要在浏览器中启动应用程序时运行的 .py 文件的目录

现在输入python file_name.py,对我来说,文件名是routes.py,后面是this example

【讨论】:

    【解决方案5】:

    如果端口不可用,也会出现此问题。 尝试在不同的端口上运行。

    【讨论】:

      【解决方案6】:

      首先使用

      激活您的虚拟环境
      source bin/activate envName
      

      然后尝试再次运行您的命令

      【讨论】:

      • 我没有在虚拟环境中安装烧瓶。谢谢!
      【解决方案7】:

      如果没有其他帮助,请检查您的代码是否为:

      from flask import Flask
      

      在发现自己的错误之前,我已经尝试了很多事情。我的代码中有这个:

      from Flask import Flask
      

      当我更改了模块名称的大写字母,即flask 后,一切正常。

      【讨论】:

        【解决方案8】:

        在 Windows 上,即使您在 cmd 行中看到 (virtual_env_name),也可能是虚拟环境未完全激活。停用/重新激活,然后重试。

        【讨论】:

          【解决方案9】:

          我在 Windows 7 上运行 Python。我遇到了同样的问题没有名为 flask 的模块。

          我尝试重新安装 python、venv 但没有成功。

          最后我是这样运行的

          1. 按常规方式安装 venv
          2. 进入脚本目录并激活
          3. C:\Python34\microb>c:\Python34\microb\fla\scripts\python run.py
          4. 这里的 microb 是我的项目,而 fla 是 venv

          【讨论】:

            【解决方案10】:

            在 Python 3.x 中

            pip3 install flask
            

            对我来说工作得很好。

            感谢和问候

            【讨论】:

              【解决方案11】:

              对于那些在 Windows 上遇到这个问题的人,已经激活了你的 venv 并且烧瓶安装在正确的目录中。对我来说,我意识到它正在寻找烧瓶,但文件名为flask.exe。我重命名了它,它运行良好。

              【讨论】:

                【解决方案12】:

                试试下面几行:

                $ python3.7 -m venv env 
                
                $ source env/bin/activate
                
                (env)$ pip install yourpackages
                
                (env)$ python app.py
                

                【讨论】:

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