热门标签:
Q:

Flask ImportError:没有名为Flask的模块

我在这里遵循Flask教程:

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

我到了我尝试的地步。/run.py 我得到了:

Traceback (most recent call last):
  File "./run.py", line 3, in <module>
    from app import app
  File "/Users/benjaminclayman/Desktop/microblog/app/__init__.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

这看起来类似于:

ImportError:没有名为flask的模块

但他们的解决方案没有帮助。 作为参考,我do有一个名为flask的文件夹,其中一个用户提到可能会导致问题。

原网址
A:

尝试删除您创建的virtualenv。 然后创建一个新的virtualenv与:

virtualenv flask

然后:

cd flask

现在让我们激活virtualenv

source bin/activate

现在你应该在命令行的左边看到(flask)

编辑:在windows中没有"源"这是一个linux的东西,而是执行激活。bat文件,在这里我使用Powershell:PS C:\DEV\aProject>;& .\Flask\Scripts\activate)

让我们安装flask:

pip install flask

然后创建一个名为hello.py的文件(注意:见下面的UPDATE Flask 1.0.2):

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

然后用它来运行:

python hello.py

更新Flask1.0.2

使用新的flask版本,无需从脚本运行应用程序。 hello.py现在应该是这样的:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

然后用它来运行:

FLASK_APP=hello.py flask run

确保在运行最新命令时位于hello.py所在的文件夹内。

创建之前的所有步骤hello.py 也申请这个案子

所有回答

共 21 条

author avatar

对于python3使用

pip3安装flask

author avatar

我可以解决的唯一方法是将我的用户python dir添加到myapp。wsgi文件。 作为一个例子:

sys.path.append('/home/deployer/anaconda3/lib/python3.5/site-packages')

我想如果你在全局环境中安装软件包,你应该没有问题,但是我有我的python软件包作为用户安装。

author avatar

激活虚拟环境并安装Flask后,我创建了一个app.py 档案。 我这样运行:python -m flask run。 希望这会有所帮助!

author avatar

我与flasgger有类似的问题。

原因是我总是用

sudo pip install flask

但由于某种原因,这并不总是要走的路。 有时候,你必须这样做

pip install flask

另一个问题是,有时人们用cap F

键入pip install Flask

把这个贴在这里以防有人卡住。 如果有帮助,请告诉我。

有用链接: pip install和sudo pip install有什么区别?

author avatar

这就是我的工作,

sudo -H pip install flask

或者对于pip3(python3)使用 :

sudo -H pip3 install flask

Sidenote

如果您使用的是virtualenv这是一个好主意 pip freeze >> requirements.txt 允许已安装的软件包在一个地方列出。 sudo命令和-H标志。 有关sudo-H标志的更多信息,请查看Paul的answer。 希望这对你有帮助。

author avatar

另一件事-如果您使用的是python3,请确保您使用python3 server.py而不是python server.py启动服务器

author avatar

当我在Windows中遇到类似的错误时,这对我有用:

  1. 安装virtualenv:

    pip install virtualenv
    
  2. 创建virtualenv:

    virtualenv flask
    
  3. 导航到脚本并激活virtualenv:

    activate
    
  4. 安装flask:

    python -m pip install flask
    
  5. 检查flask是否安装:

    python -m pip list
    
author avatar

我正在使用python2,但安装了这个: sudo apt-get install libapache2-mod-wsgi-py3

而不是: sudo apt-get install libapache2-mod-wsgi

修正安装解决了没有flask的问题.

author avatar
  1. 编辑 /etc/apache2/sites-available/FlaskApp.conf
  2. 在"WSGIScriptAlias"行之前添加以下两行:

WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp WSGIProcessGroup FlaskApp

  1. 重启Apache:service apache2 restart

我也在遵循Flask教程。我遇到了同样的问题。我找到了这个方法来修复它。

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

author avatar

在我的情况下,解决方案就像启动我的虚拟环境一样简单:

$ venv/scripts/activate

事实证明我对Python仍然很新鲜:)

author avatar

转到微博中的flask文件,然后用source bin/activate激活虚拟环境,然后转到flask/bin并安装flask,其余软件包,pip install flask。 您将看到bin目录中列出的flask。 尝试从微博(或从任何你有文件的地方)再次运行./run.py

author avatar

即使我也建议u virtualenv, 这也可能解决您的问题。

sudo apt install python-flask

如果你想在productionserver中部署,那么继续使用上述解决方案,否则请使用virtualenv。

author avatar

这个问题最简单的答案是在您的环境中指定flask的正确路径。 确保您正在运行的脚本知道如何到达flask安装。 使用print(sys.如上所述,当然有助于确定脚本使用的路径。

author avatar

在你的情况下,解决方案是 :

第一个:

打开终端并导航到该python文件所在的目录/文件夹(在这种情况下,您创建的python文件是run.py)并确保您已经在同一目录/文件夹中安装了flask。

第二 :

现在,键入以下命令 :

$python3"pythonfilename"(在ur情况下,它的$python3"run.py")

<img alt="suuceessful"src="https://i.stack.imgur.com/yVlxA.png缧/>

author avatar

进入你的python交互模式 然后:

import sys

sys.path

它会打印你的路径。 检查wether flask是否安装在sys中。路径。

对于MacOS,python路径下 /选择/本地/库/框架/Python。框架/版本/2.7/lib/python2.7/站点包

但是我会默认安装python包下 /库/Python/2.7/站点包

这就是为什么它不适用于MacOS。

author avatar

Flask脚本很适合启动本地开发服务器,但您必须 每次更改代码后,手动重新启动它。 那不是很好,flask可以 做得更好。 如果启用调试支持,服务器将在代码更改时重新加载自身, 如果出现问题,它还会为您提供一个有用的调试器。 要启用调试模式,您可以在之前导出FLASK_DEBUG环境变量 运行服务器: 例如,你的文件是hello.py

$ export FLASK_APP=hello.py
$ export FLASK_DEBUG=1
$ flask run
author avatar

在我的情况下,使用码头工人,我的。未复制env文件,因此未设置以下env变量:

。恩夫。本地: FLASK_APP=src/app.py

所以在我的Dockerfile中,我必须包括:

FROM deploy as dev
COPY env ./env

这是在码头工人撰写中引用的。yml

env_file: ./env/.env.local

我必须注意的另一件事是path变量,以确保我的环境被使用

ENV PATH $CONDA_DIR/envs/:my_environment_name_from_yml_file:/bin:$CONDA_DIR/bin:$PATH```
author avatar

我的答案只适用于任何使用Visual Studio Flesk Web项目的用户 :

只需右键单击"Python环境",然后单击"添加环境"

author avatar

如果您使用的是Pycharm,那么这是虚拟环境问题。

因此,在创建Python项目时,您必须选择"现有解释器"选项->单击"系统解释器"->选择正确的选项,例如"*\AppData\Local\Programs\Python\Python3.6\python。exe"。

您也可以使用"新虚拟Env",但我刚刚给出了应该适用于Pycharm用户的快速修复。

author avatar

我在使用WSL和PyCharm/VSCode时遇到了类似的问题,问题只发生在开发环境中,而不是在生产中。 我意识到IDE的WSL在从他们的工作目录导出PYTHONPATH时可能会出现问题,我开始手动执行此操作。

在运行程序和VENV内部之前,请尝试运行以下命令:

export PYTHONPATH="path/my_user/code"
author avatar

它在升级pip后为我工作:

curl https://bootstrap.pypa.io/get-pip.py | python

在这里找到答案:https://stackoverflow.com/a/49748494/3197202

然后我可以安装flask:

pip install flask

相似问题