pipenv FLASK_APP 指向文件夹内的问题

问题描述 投票:0回答:2

我一直在尝试遵循一些教程并在 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/

这一定是我所缺少的简单的东西。 有什么想法吗?

python flask pipenv
2个回答
3
投票
  • 不要在虚拟环境文件夹中放置任何内容
  • 将虚拟环境文件夹视为由
    pip
    pipenv
    命令管理的黑匣子。

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

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

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

注意

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…

0
投票

C:\Users dmin\Desktop\url-shortener>导出 FLASK_APP=pycoderoot/hello.py

出现以下错误: “export”不被识别为内部或外部命令, 可运行的程序或批处理文件。

Python 版本 3.8

© www.soinside.com 2019 - 2024. All rights reserved.