我一直在尝试遵循一些教程,并在pipenv环境中启动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/
这一定很简单,我很想念。有什么想法吗?
答案 0 :(得分:1)
pip
和pipenv
命令管理的黑匣子。以下是在pipenv中创建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的示例)创建简单的烧瓶应用程序文件<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
启动flask应用程序请注意,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…