问题: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
看起来类似于:
但是他们的解决方案没有帮助。作为参考,我确实有一个名为flask的文件夹,一个用户提到该文件夹可能会引起问题。
回答 0
尝试删除您创建的virtualenv。然后使用以下命令创建一个新的virtualenv:
virtualenv flask
然后:
cd flask
现在让我们激活virtualenv:
source bin/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
更新Flask 1.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之前的所有步骤同样适用于这种情况
回答 1
对于python 3使用
pip3安装烧瓶
回答 2
我唯一可以解决的方法是将用户python目录添加到myapp.wsgi文件中。举个例子:
sys.path.append('/home/deployer/anaconda3/lib/python3.5/site-packages')
我猜想,如果将软件包安装在全局环境中,应该没有问题,但是我已经以用户身份安装了python软件包。
回答 3
激活虚拟环境并安装Flask之后,我创建了一个app.py文件。我这样运行:python -m flask run
。希望这会有所帮助!
回答 4
我对flasgger也有类似的问题。
原因是我经常使用
sudo pip install flask
但是由于某些原因,这并不总是可行的。有时候,你必须要做的只是
pip install flask
另一个陷阱是有时人们会pip install Flask
用大写字母F键入
如果有人卡住,请将其张贴在这里。让我知道是否有帮助。
回答 5
回答 6
我正在使用python2,但安装了它:sudo apt-get install libapache2-mod-wsgi-py3
代替:sudo apt-get install libapache2-mod-wsgi
纠正安装解决了no flask问题。
回答 7
就我而言,解决方案就像启动虚拟环境一样简单:
$ venv/scripts/activate
事实证明,我对Python还是很新鲜的:)
回答 8
- 编辑
/etc/apache2/sites-available/FlaskApp.conf
- 在“ WSGIScriptAlias”行之前添加以下两行:
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
- 重新启动Apache:
service apache2 restart
我也遵循了Flask教程,并且遇到了同样的问题,我找到了解决问题的方法。
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
回答 9
转到微博客中的flask文件,然后使用激活虚拟环境source bin/activate
,然后转到flask / bin并安装flask,以及其余的软件包pip install flask
。您会在bin目录中看到烧瓶。尝试./run.py
从微博客(或任何有文件的地方)再次运行。
回答 10
即使我也建议您使用virtualenv,这也可以解决您的问题。
sudo apt install python-flask
如果您想在生产服务器中进行部署,则继续上述解决方案,否则请使用virtualenv。
回答 11
当我在Windows中遇到类似错误时,这对我有用。1.安装virtualenv
pip install virtualenve
创建一个virtualenv
虚拟环境瓶
导航到脚本并激活virtualenv
启用
安装烧瓶
python -m pip安装烧瓶
检查烧瓶是否已安装
python -m pip列表
回答 12
输入您的python交互模式,然后:
import sys
sys.path
它将打印您的路径。检查sys.path中是否安装了保温瓶。
对于MacOS,python路径位于/opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages下
但是pip’ll默认会在/Library/Python/2.7/site-packages下安装python软件包
这就是为什么它不适用于MacOS。
回答 13
flask脚本很适合启动本地开发服务器,但是每次更改代码后,都必须手动重新启动它。那不是很好,Flask可以做得更好。如果启用调试支持,则服务器将在代码更改时重新加载自身,如果出现问题,它还将为您提供有用的调试器。要启用调试模式,您可以在运行服务器之前导出FLASK_DEBUG环境变量:例如您的文件是hello.py
$ export FLASK_APP=hello.py
$ export FLASK_DEBUG=1
$ flask run
回答 14
在我使用Docker的情况下,未复制我的.env文件,因此未设置以下env变量:
.env.local:
FLASK_APP=src/app.py
所以在我中Dockerfile
我必须包括:
FROM deploy as dev
COPY env ./env
在docker-compose.yml中引用了
env_file: ./env/.env.local
我必须注意的另一件事是path变量,以确保使用我的环境
ENV PATH $CONDA_DIR/envs/:my_environment_name_from_yml_file:/bin:$CONDA_DIR/bin:$PATH```
回答 15
我的回答仅适用于使用Visual Studio Flesk Web项目的所有用户:
只需右键单击“ Python环境”,然后单击“添加环境”
回答 16
如果您使用的是Pycharm,则这是虚拟环境问题。
因此,在创建Python项目时,您必须选择“现有解释器”选项->单击“系统解释器”->选择正确的选项,例如“ * \ AppData \ Local \ Programs \ Python \ Python3.6 \ python.exe”。
您也可以使用“ New Virtual Env”,但我已经给出了适用于Pycharm用户的快速修复程序。
回答 17
另一件事-如果你使用python3,请确保您正在使用启动服务器python3 server.py
,而不是python server.py
回答 18
升级点数后对我有用:
curl https://bootstrap.pypa.io/get-pip.py | python
在这里找到答案:https : //stackoverflow.com/a/49748494/3197202
然后我可以安装flask:
pip install flask