Estou seguindo o tutorial do Flask aqui:
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
Chego ao ponto em que tento ./run.py e obtenho:
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
Isso é semelhante a:
ImportError: Nenhum módulo denominado flask
Mas suas soluções não são úteis. Para referência, eu não tenho uma pasta chamada frasco que um usuário mencionados podem causar problemas.
import flask
há erros? É possível que você tenha versões do python em seu computador?import sys; print sys.path
nesse arquivo (antes da linha onde o erro ocorre) e também executá-lo no prompt interativo?Respostas:
Tente excluir o virtualenv que você criou. Em seguida, crie um novo virtualenv com:
Então:
Agora vamos ativar o virtualenv:
Agora você deve ver
(flask)
à esquerda da linha de comando.Vamos instalar o frasco:
Em seguida, crie um arquivo chamado
hello.py
(NOTA: vejaUPDATE Flask 1.0.2
abaixo):e execute-o com:
ATUALIZAR Flask 1.0.2
Com o novo lançamento do frasco, não há necessidade de executar o aplicativo a partir do seu script.
hello.py
deve ficar assim agora:e execute-o com:
Certifique-se de estar dentro da pasta em que
hello.py
está ao executar o comando mais recente.Todas as etapas antes da criação do hello.py se aplicam a este caso também
fonte
Para python 3 use
fonte
A única maneira que consegui resolver foi adicionando o diretório python de meus usuários ao arquivo myapp.wsgi. Como um exemplo:
Eu acho que se você instalar os pacotes no ambiente global, você não deverá ter nenhum problema, mas eu tive meus pacotes python instalados como usuário.
fonte
export PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/
Depois de ativar o ambiente virtual e instalar o Flask, criei um arquivo app.py. Eu executá-lo como este:
python -m flask run
. Espero que isso ajude!fonte
Tive um problema semelhante com o pisca-pisca.
A razão para isso é que eu sempre uso
sudo pip install flask
mas, por algum motivo, nem sempre é esse o caminho a percorrer. Às vezes, você tem que fazer apenas
pip install flask
Outra pegadinha é que às vezes as pessoas digitam
pip install Flask
com a tampa FPostar isso aqui para o caso de alguém travar. Deixe-me saber se ajudou.
Link útil: Qual é a diferença entre pip install e sudo pip install?
fonte
Isto é o que funcionou para mim,
sudo -H pip install flask
Ou para pip3 (python3), use:
sudo -H pip3 install flask
Nota
Se você estiver usando o virtualenv, é uma boa ideia
pip freeze >> requirements.txt
permitir que os pacotes instalados sejam listados em um só lugar. Osudo
comando e a-H
bandeira. Para saber mais sobresudo
a-H
bandeira de, veja a resposta de Paulo . Espero que isso ajude você.fonte
Eu estava usando o python2, mas instalei este: sudo apt-get install libapache2-mod-wsgi-py3
Em vez de: sudo apt-get install libapache2-mod-wsgi
Corrigir a instalação resolveu o problema sem frasco.
fonte
No meu caso, a solução foi tão simples quanto iniciar meu ambiente virtual assim:
$ venv/scripts/activate
Acontece que ainda estou fresco no Python :)
fonte
/etc/apache2/sites-available/FlaskApp.conf
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
service apache2 restart
Estou seguindo o tutorial do Flask também. E encontrei o mesmo problema. Encontrei uma maneira de consertá-lo.
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
fonte
Vá para o arquivo flask no microblog, ative o ambiente virtual com
source bin/activate
, vá para flask / bin e instale o flask, e o restante dos pacotespip install flask
,. Você verá o frasco listado dentro do diretório bin. Tente executar./run.py
novamente a partir do microblog (ou de onde quer que você tenha o arquivo).fonte
Mesmo eu também sugiro u virtualenv, isso também pode resolver seu problema.
Se você deseja implantar no productionserver, vá em frente com a solução acima, caso contrário, use o virtualenv.
fonte
Foi isso que funcionou para mim quando recebi um erro semelhante no Windows; 1. Instale o virtualenv
Crie um virtualenv
frasco virtualenv
Navegue até Scripts e ative o virtualenv
ativar
Instale o Flask
frasco de instalação python -m pip
Verifique se o frasco está instalado
lista de pip python -m
fonte
entre no modo interativo do python e:
import sys
sys.path
ele imprimirá seu caminho. Verifique se o frasco está instalado no sys.path.
Para MacOS, o caminho Python está em /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Mas o pip instalará o pacote python por padrão em /Library/Python/2.7/site-packages
É por isso que não funciona para MacOS.
fonte
O script flask é bom para iniciar um servidor de desenvolvimento local, mas você teria que reiniciá-lo manualmente após cada alteração em seu código. Isso não é muito bom e o Flask pode fazer melhor. Se você habilitar o suporte para depuração, o servidor irá recarregar-se nas mudanças de código e também fornecerá um depurador útil se algo der errado. Para habilitar o modo de depuração, você pode exportar a variável de ambiente FLASK_DEBUG antes de executar o servidor: por exemplo, seu arquivo é hello.py
fonte
no meu caso, usando Docker, meu arquivo .env não foi copiado, portanto, os seguintes env vars não foram definidos:
.env.local:
FLASK_APP=src/app.py
então na minha
Dockerfile
eu tive que incluir:que foi referenciado em docker-compose.yml
env_file: ./env/.env.local
outra coisa que eu tive que prestar atenção é a variável de caminho para garantir que meu ambiente seja usado
fonte
minha resposta apenas para qualquer usuário que use o projeto da Web do Visual Studio Flesk:
Basta clicar com o botão direito em "Ambiente Python" e clicar em "Adicionar ambiente"
fonte
Se você estiver usando o Pycharm, esse é o problema do ambiente virtual.
Portanto, no momento de criar seu projeto Python, você terá que selecionar a opção "Interpretador existente" -> clique em "Interpretador do sistema" -> selecione a opção correta, por exemplo "* \ AppData \ Local \ Programs \ Python \ Python3.6 \ python.exe ".
Você também pode usar o 'Novo ambiente virtual', mas acabei de apresentar uma correção rápida que deve funcionar para os usuários do Pycharm.
fonte
Outra coisa - se você estiver usando python3, certifique-se de que está iniciando seu servidor com
python3 server.py
, nãopython server.py
fonte
Funcionou para mim depois de atualizar o pip:
Encontre essa resposta aqui: https://stackoverflow.com/a/49748494/3197202
Então eu poderia apenas instalar o flask:
fonte