pipenv FLASK_APP 指向文件夹内部的问题

pipenv FLASK_APP problems pointing inside folder

我一直在尝试遵循一些教程并在 pipenv 环境中启动一个 flask 项目。我似乎无法将我的 export FLASK_APP=<-app.py location-> 指向正确的位置。

我从 pipenv install flask 开始项目 我验证了 python 在环境中工作:

如果我将 app.py 放在主 VENV 文件夹中,我可以用 export FLASK_APP=app.py 和 运行 pipenv run flask run 指向它,一切正常。

然后我创建了一个名为 flask 的文件夹,其中包含 __init__.pyapp.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/

这必须是我所缺少的简单内容。有什么想法吗?

  • 不要在虚拟环境文件夹中放置任何东西
  • 将虚拟环境文件夹视为由 pippipenv 命令管理的黑盒。

以下是在 pipenv 中创建 Flask 应用程序的步骤

  1. mkdir <project_root> 为项目创建新文件夹
  2. cd <test_flask_app>进入新文件夹
  3. pipenv --three 使用 with python 3
  4. 创建新的虚拟环境
  5. pipenv shell激活pipenv虚拟环境
  6. pipenv install flask 安装烧瓶
  7. mkdir <python_code_root> 为所有 python 代码创建文件夹(参见此处示例 python 项目 https://github.com/kennethreitz/samplemod
  8. 创建简单的 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
    
  9. export FLASK_APP=<python_code_root>/app.py 导出变量

  10. flask run 启动 flask 应用程序
  11. 在浏览器中转到 http://localhost:5000/

请注意 pipenv --three 在随机散列文件夹中生成 python 虚拟环境文件夹。您不应该在此文件夹中手动 edit/add 任何内容。

当我运行 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…