pipenv FLASK_APP проблемы с указанием внутри папки - PullRequest
0 голосов
/ 29 ноября 2018

Я пытался следовать нескольким учебникам и запустить проект колбы в среде pipenv.Я не могу указать мой экспорт 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/

Это должно быть что-то простое, что мне не хватает.Есть мысли?

1 Ответ

0 голосов
/ 29 ноября 2018
  • ничего не помещайте в папку виртуальной среды
  • воспринимайте папку виртуальной среды как черный ящик, управляемый командами pip и pipenv.

Вот шаги для создания приложения фляги в pipenv

  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. создать простой файл приложения фляги <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 генерирует виртуальную папку env python в случайной хешированной папке. Вы не должны вручную редактировать / adЧто-нибудь в этой папке.

Когда я запускаю 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…
...