[英]Flask ImportError: No Module Named 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 的文件夹,一位用户提到它可能会导致问题。
尝试删除您创建的 virtualenv。 然后创建一个新的virtualenv:
virtualenv flask
然后:
cd flask
现在让我们激活 virtualenv
source bin/activate
现在您应该在命令行左侧看到(flask)
。
编辑:在windows中没有“源”是linux的东西,而是执行activate.bat文件,这里我使用Powershell: PS C:\DEV\aProject> & .\Flask\Scripts\activate
)
让我们安装烧瓶:
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
更新烧瓶 1.0.2
使用新的烧瓶版本,无需从脚本运行应用程序。 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 之前的所有步骤也适用于这种情况
对于 python 3 使用
pip3 安装烧瓶
我能解决的唯一方法是将我的用户 python 目录添加到 myapp.wsgi 文件中。 举个例子:
sys.path.append('/home/deployer/anaconda3/lib/python3.5/site-packages')
我想如果你在全局环境中安装包,你应该没有问题,但是我以用户身份安装了我的 python 包。
激活虚拟环境并安装 Flask 后,我创建了一个 app.py 文件。 我这样运行它: python -m flask run
。 希望这会有所帮助!
我对flasgger也有类似的问题。
原因是我总是使用
sudo pip install flask
但由于某种原因,这并不总是可行的。 有时候,你只需要做
pip install flask
另一个问题是有时人们键入pip install Flask
并带有F
在这里张贴这个,以防有人被卡住。 让我知道它是否有帮助。
另一件事 - 如果您使用的是 python3,请确保您使用python3 server.py
启动服务器,而不是python server.py
当我在 Windows 中遇到类似错误时,这对我有用:
安装虚拟环境:
pip install virtualenv
创建一个虚拟环境:
virtualenv flask
导航到 Scripts 并激活 virtualenv:
activate
安装烧瓶:
python -m pip install flask
检查是否安装了烧瓶:
python -m pip list
/etc/apache2/sites-available/FlaskApp.conf
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
service apache2 restart
我也在关注 Flask 教程。我遇到了同样的问题。我找到了解决它的方法。
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
我正在使用 python2 但安装了这个:sudo apt-get install libapache2-mod-wsgi-py3
而不是:sudo apt-get install libapache2-mod-wsgi
更正安装解决了没有烧瓶的问题。
就我而言,解决方案就像启动我的虚拟环境一样简单,如下所示:
$ venv/scripts/activate
事实证明我对 Python 还是很陌生 :)
进入微博的flask文件,然后用source bin/activate
激活虚拟环境,然后进入flask/bin安装flask,剩下的包pip install flask
。 您将看到 bin 目录中列出的烧瓶。 尝试从微博(或从您拥有该文件的任何地方)再次运行./run.py
。
即使我也建议你使用 virtualenv,这也可能解决你的问题。
sudo apt install python-flask
如果您想在生产服务器中部署,请继续使用上述解决方案,否则请使用 virtualenv。
这个问题最简单的答案是在你的环境中指定正确的烧瓶路径。 确保您正在运行的脚本知道如何进行烧瓶安装。 使用上面提到的 print(sys.path) 肯定有助于找出脚本使用的路径。
然后进入你的python交互模式:
import sys
sys.path
它会打印你的路径。 检查烧瓶是否安装在 sys.path 中。
对于 MacOS,python 路径位于 /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages 下
但是 pip 默认会在 /Library/Python/2.7/site-packages 下安装 python 包
这就是为什么它不适用于 MacOS。
烧瓶脚本很适合启动本地开发服务器,但您必须在每次更改代码后手动重新启动它。 这不是很好,Flask 可以做得更好。 如果您启用调试支持,服务器将在代码更改时自行重新加载,并且如果出现问题,它还会为您提供有用的调试器。 要启用调试模式,您可以在运行服务器之前导出 FLASK_DEBUG 环境变量:例如,您的文件是 hello.py
$ export FLASK_APP=hello.py
$ export FLASK_DEBUG=1
$ flask run
在我使用 Docker 的情况下,我的 .env 文件没有被复制,因此没有设置以下环境变量:
.env.local: FLASK_APP=src/app.py
所以在我的Dockerfile
中我必须包括:
FROM deploy as dev
COPY env ./env
在 docker-compose.yml 中被引用
env_file: ./env/.env.local
我必须注意的另一件事是路径变量,以确保使用我的环境
ENV PATH $CONDA_DIR/envs/:my_environment_name_from_yml_file:/bin:$CONDA_DIR/bin:$PATH```
我的回答仅适用于使用 Visual Studio Flesk Web 项目的任何用户:
只需右键单击“Python 环境”,然后单击“添加环境”
如果您使用的是 Pycharm,那么这是虚拟环境问题。
因此,在创建 Python 项目时,您必须选择“现有解释器”选项 -> 单击“系统解释器” -> 选择正确的选项,例如“*\AppData\Local\Programs\Python\Python3.6\蟒蛇.exe”。
您也可以使用“新虚拟环境”,但我刚刚给出了适用于 Pycharm 用户的快速修复。
我在使用 WSL 和 PyCharm / VSCode 时遇到了类似的问题,这个问题只发生在开发环境中,而不是生产环境中。 我意识到带有 WSL 的 IDE 在从其工作目录导出 PYTHONPATH 时可能会出现问题,因此我开始手动执行此操作。
在运行您的程序和在 VENV 中之前,请尝试运行以下命令:
export PYTHONPATH="path/my_user/code"
我有同样的错误,它说找不到烧瓶模块。 这就是我所做的:
运行我的应用程序后,一切都很好。
你首先需要创建一个 Python 环境
像这样:
py -m venv YOUR_DIR_NAME
你也可以试试这个解决方法set FLASK_DEBUG=1 && python -m flask run
它对我有用
升级 pip 后它对我有用:
curl https://bootstrap.pypa.io/get-pip.py | python
在这里找到答案: https ://stackoverflow.com/a/49748494/3197202
然后我可以安装烧瓶:
pip install flask
安装特定版本:
pip install flash
升级闪存
sudo pip3 install --upgrade flash
在 Window 10 中出现依赖错误 使用代码:easy_install 而不是 pip install
easy_install flash
使用简易安装升级
sudo easy_install --upgrade flash
在 OSX 系统上安装模块:使用代码:brew install 而不是 pip install
brew install flash
不使用 Pip :
sudo apt-get install -y flash
在 CentOS7 或 Linux Fedora 上:
yum -y install flash
或者在 Fedora 上试试
sudo dnf install flash
如果 Homebrew 在 macOS 上搞砸了你的路径,则命令:
python -m pip install flash
对于 Python3 MacOs Homebrew 螺丝
python3 -m pip install flash
从列表 MacO 验证模块
pip freeze | grep flash
在 Anaconda 上作为你的 python 包管理器执行
conda install -c anaconda flash
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.