不能在虚拟环境中使用烧瓶库
我试图用Python和Flask运行一个简单的Web服务器 我创建了一个Python项目和一个虚拟环境,
安装了烧瓶,但是当我试图运行脚本
时 它说“没有名为烧瓶的模块”
这是我的脚本:
#! /usr/bin/python3
from flask import Flask, redirect, url_for
app = Flask(__name__)
@app.route("/ping")
def pong():
return "<h1>PONG<h1>"
@app.route("/")
def home():
return "<h1>HELLO ! THIS IS THE HOME PAGE<h1>"
if __name__ == "__main__":
app.run()
这是我的终端输出:
(venv) shido@shido-VirtualBox:~/Downloads/Flask-Docker$ pip install flask
Requirement already satisfied: flask in ./venv/lib/python3.8/site-packages (2.1.2)
Requirement already satisfied: importlib-metadata>=3.6.0; python_version < "3.10" in ./venv/lib/python3.8/site-packages (from flask) (4.11.3)
Requirement already satisfied: itsdangerous>=2.0 in ./venv/lib/python3.8/site-packages (from flask) (2.1.2)
Requirement already satisfied: Jinja2>=3.0 in ./venv/lib/python3.8/site-packages (from flask) (3.1.2)
Requirement already satisfied: click>=8.0 in ./venv/lib/python3.8/site-packages (from flask) (8.1.3)
Requirement already satisfied: Werkzeug>=2.0 in ./venv/lib/python3.8/site-packages (from flask) (2.1.2)
Requirement already satisfied: zipp>=0.5 in ./venv/lib/python3.8/site-packages (from importlib-metadata>=3.6.0; python_version < "3.10"->flask) (3.8.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./venv/lib/python3.8/site-packages (from Jinja2>=3.0->flask) (2.1.1)
(venv) shido@shido-VirtualBox:~/Downloads/Flask-Docker$ ./example2.py
Traceback (most recent call last):
File "./example2.py", line 3, in <module>
from flask import Flask, redirect, url_for
ModuleNotFoundError: No module named 'flask'
编辑: 我成功地跑了正确的Venv。
但是现在说:
from: can't read /var/mail/flask
./example2.py: line 3: syntax error near unexpected token `('
./example2.py: line 3: `app = Flask(__name__)'
编辑2:通过从./example2.py切换到python xpemend.2.py
完成 可以关闭问题:)谢谢马丁!
im trying to run a simple webserver with python and flask
i created a python project and a virtual environment,
installed flask, but when im trying to run the script
it says " no module named flask"
here is my script :
#! /usr/bin/python3
from flask import Flask, redirect, url_for
app = Flask(__name__)
@app.route("/ping")
def pong():
return "<h1>PONG<h1>"
@app.route("/")
def home():
return "<h1>HELLO ! THIS IS THE HOME PAGE<h1>"
if __name__ == "__main__":
app.run()
and this is my terminal output :
(venv) shido@shido-VirtualBox:~/Downloads/Flask-Docker$ pip install flask
Requirement already satisfied: flask in ./venv/lib/python3.8/site-packages (2.1.2)
Requirement already satisfied: importlib-metadata>=3.6.0; python_version < "3.10" in ./venv/lib/python3.8/site-packages (from flask) (4.11.3)
Requirement already satisfied: itsdangerous>=2.0 in ./venv/lib/python3.8/site-packages (from flask) (2.1.2)
Requirement already satisfied: Jinja2>=3.0 in ./venv/lib/python3.8/site-packages (from flask) (3.1.2)
Requirement already satisfied: click>=8.0 in ./venv/lib/python3.8/site-packages (from flask) (8.1.3)
Requirement already satisfied: Werkzeug>=2.0 in ./venv/lib/python3.8/site-packages (from flask) (2.1.2)
Requirement already satisfied: zipp>=0.5 in ./venv/lib/python3.8/site-packages (from importlib-metadata>=3.6.0; python_version < "3.10"->flask) (3.8.0)
Requirement already satisfied: MarkupSafe>=2.0 in ./venv/lib/python3.8/site-packages (from Jinja2>=3.0->flask) (2.1.1)
(venv) shido@shido-VirtualBox:~/Downloads/Flask-Docker$ ./example2.py
Traceback (most recent call last):
File "./example2.py", line 3, in <module>
from flask import Flask, redirect, url_for
ModuleNotFoundError: No module named 'flask'
edit :
i succeeded running with the right venv.
but now it says :
from: can't read /var/mail/flask
./example2.py: line 3: syntax error near unexpected token `('
./example2.py: line 3: `app = Flask(__name__)'
edit 2 : done by switching from ./example2.py to python example2.py
can close question :) thanks martin !
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
通过运行
./ example2.py
,您正在使用Shebang标题中指定的Python解释器执行脚本:#! /usr/bin/python3
为了使用虚拟环境的Python解释器,激活VENV并运行以下命令:
By running
./example2.py
your are executing your script with the Python interpreter specified in the shebang header:#! /usr/bin/python3
In order to use the Python interpreter of your virtual environment, activate your venv and run the following command: