我一直在尝试遵循一些教程并在 pipelinev 环境中启动一个 Flask 项目。 我似乎无法将导出 FLASK_APP=<-app.py location-> 指向正确的位置。
我用
pipenv install flask
开始这个项目
我验证了 python 正在环境中工作:
如果我将 app.py 放在主 VENV 文件夹中,我可以用
export FLASK_APP=app.py
指向它并运行 pipenv run flask run
,一切正常。
然后我创建一个名为 Flask 的文件夹,其中包含
__init__.py
和 app.py
。
然后我尝试导出 FLASK_APP 并运行
pipenv run flask run
export FLASK_APP=/flask/app.py
不起作用
export FLASK_APP=./flask/app.py
不起作用
export FLASK_APP=$VIRTUAL_ENV/../flask/app.py
不起作用
当我查看时,我什至看不到该文件夹
$VIRTUAL_ENV/
。 我才看到bin/ include/ lib/ src/
这一定是我所缺少的简单的东西。 有什么想法吗?
pip
和 pipenv
命令管理的黑匣子。以下是在 pipelinev 中创建 Flask 应用程序的步骤
mkdir <project_root>
为项目创建新文件夹cd <test_flask_app>
进入新文件夹pipenv --three
使用 python 3 创建新的虚拟环境 pipenv shell
激活pipenv虚拟环境pipenv install flask
安装烧瓶mkdir <python_code_root>
为所有 python 代码创建文件夹(参见此处的示例 python 项目https://github.com/kennethreitz/samplemod)创建简单的 Flask 应用程序文件
<python_code_root>/app.py
(取自 http://flask.pocoo.org/)
from flask import Flask
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World!"
预期的项目文件夹应该如下所示
.
├── Pipfile
├── Pipfile.lock
└── <python_code_root>
└── app.py
export FLASK_APP=<python_code_root>/app.py
导出变量flask run
启动烧瓶应用程序注意
pipenv --three
在随机散列文件夹中生成 python 虚拟 env 文件夹。 您不应该在此文件夹中手动编辑/添加任何内容。
当我运行
pipenv --three
时,输出是:
Creating a virtualenv for this project…
Pipfile:
/Users/grahamcrowell/Documents/test_flask_app/Pipfile
Using /usr/local/bin/python3 (3.7.1) to create virtualenv…
✔ Complete
Using base prefix '/usr/local/Cellar/python/3.7.1/Frameworks/Python.framework/Versions/3.7'
New python executable in /Users/grahamcrowell/.local/share/virtualenvs/test_flask_app-l4aYsVUB/bin/python3.7
Also creating executable in /Users/grahamcrowell/.local/share/virtualenvs/test_flask_app-l4aYsVUB/bin/python
Installing setuptools, pip, wheel...done.
Running virtualenv with interpreter /usr/local/bin/python3
Virtualenv location: /Users/grahamcrowell/.local/share/virtualenvs/test_flask_app-l4aYsVUB
Creating a Pipfile for this project…
C:\Users dmin\Desktop\url-shortener>导出 FLASK_APP=pycoderoot/hello.py
出现以下错误: “export”不被识别为内部或外部命令, 可运行的程序或批处理文件。
Python 版本 3.8