Я следую руководству по 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
Но их решения бесполезны. Для справки, у меня есть папка с именем flask, которая, по словам одного пользователя, может вызвать проблемы.
import flask
вас нет ошибок? Возможно ли, что на вашем компьютере установлены версии Python?import sys; print sys.path
в этот файл (перед строкой, в которой происходит ошибка), а также запустить его в интерактивной подсказке?Ответы:
Попробуйте удалить созданный вами файл virtualenv. Затем создайте новый virtualenv с помощью:
Затем:
Теперь давайте активируем virtualenv:
Теперь вы должны увидеть
(flask)
слева в командной строке.Установим фляжку:
Затем создайте файл с именем
hello.py
(ПРИМЕЧАНИЕ: см.UPDATE Flask 1.0.2
Ниже):и запустите его с помощью:
ОБНОВЛЕНИЕ Flask 1.0.2
В новом выпуске flask отпадает необходимость запускать приложение из вашего скрипта.
hello.py
теперь должно выглядеть так:и запустите его с помощью:
Убедитесь, что вы находитесь в той папке, где
hello.py
находится последняя команда.Все шаги до создания hello.py применимы и к этому случаю.
источник
Для python 3 используйте
источник
Единственный способ решить эту проблему - добавить мой пользовательский каталог python в файл myapp.wsgi. Например:
Я предполагаю, что если вы устанавливаете пакеты в глобальной среде, у вас не должно возникнуть проблем, но я установил свои пакеты python как пользователь.
источник
export PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/
После активации виртуальной среды и установки Flask я создал файл app.py. Я бегу это так:
python -m flask run
. Надеюсь, это поможет!источник
У меня была аналогичная проблема с flasgger.
Причина в том, что я всегда использую
sudo pip install flask
но по какой-то причине это не всегда правильный путь. Иногда вам нужно просто
pip install flask
Другой Гоча является то , что иногда люди типа
pip install Flask
с крышкой FРазместите это здесь на случай, если кто-то застрянет. Сообщите мне, помогло ли это.
Полезная ссылка: В чем разница между установкой pip и sudo pip install?
источник
это то, что сработало для меня,
sudo -H pip install flask
Или для pip3 (python3) используйте:
sudo -H pip3 install flask
Примечание
Если вы используете virtualenv, неплохо было
pip freeze >> requirements.txt
бы разрешить список установленных пакетов в одном месте. Командаsudo
и-H
флаг. Более подробную информацию оsudo
«S-H
флага, взгляд на Павла ответ . Надеюсь, это тебе поможет.источник
Я использовал python2, но установил это: sudo apt-get install libapache2-mod-wsgi-py3
Вместо: sudo apt-get install libapache2-mod-wsgi
Исправление установки решило проблему отсутствия колбы.
источник
В моем случае решение было таким простым, как запуск моей виртуальной среды следующим образом:
$ venv/scripts/activate
Оказывается, я еще новичок в Python :)
источник
/etc/apache2/sites-available/FlaskApp.conf
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
service apache2 restart
Я тоже следую руководству Flask, и я столкнулся с той же проблемой. Я нашел способ ее исправить.
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
источник
Перейти к файлу колб в микроблоге, а затем активировать виртуальную среду с
source bin/activate
, а затем перейти в колбе / бункер и установить колбу, а остальные пакеты,pip install flask
. Вы увидите колбу, указанную в каталоге bin. Попробуйте./run.py
снова запустить из микроблога (или откуда у вас есть файл).источник
Даже я тоже предлагаю вам virtualenv, это также может решить вашу проблему.
Если вы хотите развернуть сервер на продакшене, воспользуйтесь вышеуказанным решением, иначе используйте virtualenv.
источник
Вот что сработало у меня, когда я получил аналогичную ошибку в Windows; 1. Установите virtualenv
Создать виртуальный
флакон virtualenv
Перейдите к Сценариям и активируйте virtualenv
активировать
Установить Flask
python -m pip install flask
Проверить, установлена ли колба
python -m список пипсов
источник
войдите в интерактивный режим Python, затем:
import sys
sys.path
он напечатает ваш путь. Убедитесь, что фляга установлена в sys.path.
Для MacOS путь python находится в /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Но по умолчанию pip установит пакет python в /Library/Python/2.7/site-packages
Вот почему это не работает для MacOS.
источник
Сценарий flask хорош для запуска локального сервера разработки, но вам придется перезапускать его вручную после каждого изменения вашего кода. Это не очень хорошо, и Flask может работать лучше. Если вы включите поддержку отладки, сервер будет перезагружаться при изменении кода, а также предоставит вам полезный отладчик, если что-то пойдет не так. Чтобы включить режим отладки, вы можете экспортировать переменную среды FLASK_DEBUG перед запуском сервера: например, ваш файл - hello.py
источник
в моем случае с использованием Docker мой файл .env не был скопирован, поэтому следующие переменные env не были установлены:
.env.local:
FLASK_APP=src/app.py
поэтому в моем
Dockerfile
я должен был включить:на который есть ссылка в docker-compose.yml
env_file: ./env/.env.local
еще одна вещь, на которую мне пришлось обратить внимание, это переменная пути, чтобы убедиться, что моя среда используется
источник
мой ответ только для всех пользователей, которые используют веб-проект Visual Studio Flesk:
Просто щелкните правой кнопкой мыши «Среда Python» и щелкните «Добавить среду».
источник
Если вы используете Pycharm, то это проблема виртуальной среды.
Итак, во время создания проекта Python вам нужно будет выбрать опцию «Существующий интерпретатор» -> щелкнуть «Системный интерпретатор» -> выбрать правильный вариант, например «* \ AppData \ Local \ Programs \ Python \ Python3.6 \» python.exe ".
Вы также можете использовать «New Virtual Env», но я только что дал быстрое исправление, которое должно работать для пользователей Pycharm.
источник
Другое дело - если вы используете python3, убедитесь, что вы запускаете сервер с
python3 server.py
, а неpython server.py
источник
Это сработало для меня после обновления pip:
Нашел этот ответ здесь: https://stackoverflow.com/a/49748494/3197202
Тогда я мог бы просто установить колбу:
источник