Подтвердить что ты не робот

Flask ImportError: No Module Named Flask

Я следую инструкциям Flask здесь:

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

Я добираюсь до точки, где я пытаюсь. /run.py, и я получаю:

Traceback (most recent call last):
  File "./run.py", line 3, in <module>
    from app import app
  File "/Users/benjaminclayman/Desktop/microblog/app/__init__.py", line 1, in <module>
    from flask import Flask
ImportError: No module named flask

Это выглядит так:

ImportError: нет модуля с флагом

Но их решения не помогают. Для справки, у меня есть папка с именем flask, которую один из упомянутых пользователей может вызвать проблемы.

4b9b3361

Ответ 1

попробуйте удалить созданный вами virtualenv. создать новый virtualenv

virtualenv flask

затем

cd flask

давай активируй virtualenv

source bin/activate

Теперь вы должны увидеть (колбу) слева от командной строки. Пусть установят колбу

pip install flask

Затем создайте файл hello.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run()

и запустить его с

python hello.py

ОБНОВЛЕНИЕ Flask 1.0.2

С новым выпуском фляги нет необходимости запускать приложение из вашего скрипта. hello.py должен выглядеть следующим образом:

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

и запустить его с

FLASK_APP=hello.py flask run

убедитесь, что вы находитесь внутри папки, в которой находится hello.py при запуске последней команды.

Все шаги до создания hello.py применимы и к этому случаю.

Ответ 2

Для python 3 используйте

pip3 установить колбу

Ответ 3

Единственный способ, которым я мог решить, - добавить мой файл python моих пользователей в файл myapp.wsgi. В качестве примера:

sys.path.append('/home/deployer/anaconda3/lib/python3.5/site-packages')

Я предполагаю, что если вы устанавливаете пакеты в глобальной среде, у вас не должно быть никаких проблем, но у меня установлены пакеты python как пользователь.

Ответ 4

После активации виртуальной среды и установки Flask я создал файл app.py. Я запускаю это так: python -m flask run. Надеюсь, это поможет!

Ответ 5

У меня была аналогичная проблема с flasgger.

Причина в том, что я всегда использую

sudo pip install flask

но по какой-то причине это не всегда путь. Иногда вам нужно сделать только

pip install flask

Другой способ заключается в том, что иногда люди печатают pip install flask с помощью cap F

Проводя это здесь, если кто-то застрянет. Сообщите мне, помогло ли это.

Полезная ссылка: В чем разница между установкой pip и установкой sudo pip?

Ответ 6

это то, что сработало для меня,

sudo -H pip install flask

Или для pip3 (python3) используйте:

sudo -H pip3 install flask

Примечание

Если вы используете virtualenv, было бы неплохо pip freeze >> requirements.txt require.txt, чтобы в одном месте были перечислены установленные пакеты. Команда sudo и флаг -H. Подробнее о флаге sudo -H смотрите в ответе Пола. Надеюсь, это поможет вам.

Ответ 7

Я использовал python2, но установил это: sudo apt-get install libapache2-mod-wsgi-py3

Вместо: sudo apt-get install libapache2-mod-wsgi

Исправление установки разрешило проблему без колбы.

Ответ 8

  • Изменить /etc/apache2/sites-available/FlaskApp.conf
  • Добавьте в строку "WSGIScriptAlias" следующие две строки:

WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp WSGIProcessGroup FlaskApp

  1. Перезапустить Apache: service apache2 restart

Я тоже следую за учебником Flask. И я встретил ту же проблему. Я нашел способ исправить это.

http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world

Ответ 9

В моем случае решение было таким же простым, как запуск виртуальной среды, например:

$ venv/scripts/activate

Оказывается, я все еще новичок в Python :)

Ответ 10

Перейдите в файл фляги в микроблоге, затем активируйте виртуальную среду с помощью source bin/activate, затем перейдите в флягу /bin и установите флягу, а остальные пакеты - pip install flask. Вы увидите флягу, указанную в каталоге bin. Попробуйте снова запустить ./run.py из микроблока (или из любого места, где у вас есть файл).

Ответ 11

Даже я тоже предлагаю вам virtualenv, Это также может решить вашу проблему.

sudo apt install python-flask

Если вы хотите развернуть в productionserver, то используйте вышеуказанное решение, в противном случае используйте virtualenv.

Ответ 12

войдите в интерактивный режим Python, затем:

import sys

sys.path

это напечатает ваш путь. Проверьте, установлена ли в sys.path колба с водой.

Для MacOS путь к питону находится в /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

Но pip установит пакет python по умолчанию в /Library/Python/2.7/site-packages

Вот почему это не работает для MacOS.

Ответ 13

У меня сработало после обновления пипа:

curl https://bootstrap.pypa.io/get-pip.py | python

Нашел ответ здесь: fooobar.com/questions/1696006/...

Тогда я мог бы просто установить колбу:

pip install flask

Ответ 14

Это то, что сработало для меня, когда я получил похожую ошибку в Windows; 1. Установите virtualenv

pip install virtualenve
  1. Создать виртуал

    фляга

  2. Перейдите к сценариям и активируйте virtualenv

    активировать

  3. Установить колбу

    колба для установки на питоне -m

  4. Проверьте, установлена ли колба

    список пайтонов -m

Ответ 15

Скрипт фляги удобен для запуска локального сервера разработки, но вам придется перезапускать его вручную после каждого изменения кода. Это не очень хорошо, и Flask может сделать лучше. Если вы включите поддержку отладки, сервер перезагрузится при изменении кода, а также предоставит вам полезный отладчик, если что-то пойдет не так. Чтобы включить режим отладки, вы можете экспортировать переменную среды FLASK_DEBUG перед запуском сервера: например, ваш файл hello.py

$ export FLASK_APP=hello.py
$ export FLASK_DEBUG=1
$ flask run

Ответ 16

в моем случае с использованием Docker мой файл .env не был скопирован, поэтому следующие env vars не были установлены:

.env.local: FLASK_APP=src/app.py

поэтому в моем Dockerfile я должен был включить:

FROM deploy as dev
COPY env ./env

на который ссылается docker-compose.yml

env_file: ./env/.env.local

Еще одна вещь, на которую я должен был обратить внимание, - это переменная пути, обеспечивающая использование моей среды.

ENV PATH $CONDA_DIR/envs/:my_environment_name_from_yml_file:/bin:$CONDA_DIR/bin:$PATH'''

Ответ 17

Мой ответ только для всех пользователей, использующих веб-проект Visual Studio Flesk:

Просто щелкните правой кнопкой мыши "Python Environment" и выберите "Add Environment"

Ответ 18

Эта проблема может возникнуть, если порт недоступен. Измените порт и проверьте, не исчезла ли проблема.