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, которую один из упомянутых пользователей может вызвать проблемы.
Ответы
Ответ 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
- Перезапустить 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
-
Создать виртуал
фляга
-
Перейдите к сценариям и активируйте virtualenv
активировать
-
Установить колбу
колба для установки на питоне -m
-
Проверьте, установлена ли колба
список пайтонов -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
Эта проблема может возникнуть, если порт недоступен. Измените порт и проверьте, не исчезла ли проблема.