Estoy siguiendo el tutorial de Flask aquí:
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
Llego al punto en el que intento ./run.py y obtengo:
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
Esto se parece a:
ImportError: ningún módulo llamado frasco
Pero sus soluciones no son útiles. A modo de referencia, que no tengo una carpeta llamada frasco de la cual un usuario mencionado puede causar problemas.
import flask
tienes errores? ¿Es posible que tenga versiones de Python en su computadora?import sys; print sys.path
en ese archivo (antes de la línea donde ocurre el error) y también ejecutarlo en el indicador interactivo?Respuestas:
Intente eliminar el virtualenv que creó. Luego crea un nuevo virtualenv con:
Luego:
Ahora activemos el virtualenv:
Ahora debería ver
(flask)
a la izquierda de la línea de comando.Instalemos el matraz:
Luego cree un archivo llamado
hello.py
(NOTA: vea aUPDATE Flask 1.0.2
continuación):y ejecutarlo con:
ACTUALIZAR Frasco 1.0.2
Con la nueva versión del matraz, no es necesario ejecutar la aplicación desde su script.
hello.py
debería verse así ahora:y ejecutarlo con:
Asegúrese de estar dentro de la carpeta donde se
hello.py
encuentra cuando ejecute el último comando.Todos los pasos antes de la creación de hello.py también se aplican a este caso
fuente
Para uso de Python 3
fuente
La única forma en que pude resolverlo fue agregando el directorio python de mis usuarios al archivo myapp.wsgi. Como ejemplo:
Supongo que si instala los paquetes en el entorno global, no debería tener ningún problema, pero yo tenía mis paquetes de Python instalados como usuario.
fuente
export PYTHONPATH=/root/environments/my_env/lib/python3.6/site-packages/
Después de activar el entorno virtual e instalar Flask, creé un archivo app.py. Me quedo así:
python -m flask run
. ¡Espero que esto ayude!fuente
Tuve un problema similar con flasgger.
La razón de eso fue que siempre uso
sudo pip install flask
pero por alguna razón ese no es siempre el camino a seguir. A veces, tienes que hacer solo
pip install flask
Otro problema es que a veces la gente escribe
pip install Flask
con la gorra FPublicando esto aquí en caso de que alguien se atasque. Avísame si te ayudó.
Enlace útil: ¿Cuál es la diferencia entre pip install y sudo pip install?
fuente
esto es lo que funcionó para mí,
sudo -H pip install flask
O para pip3 (python3) use:
sudo -H pip3 install flask
Nota al margen
Si está utilizando virtualenv, es una buena idea
pip freeze >> requirements.txt
permitir que los paquetes instalados aparezcan en un solo lugar. Elsudo
comando y la-H
bandera. Para más información sobresudo
la-H
bandera de, mire la respuesta de Paul . Espero que esto te ayude.fuente
Estaba usando python2 pero instalé esto: sudo apt-get install libapache2-mod-wsgi-py3
En lugar de: sudo apt-get install libapache2-mod-wsgi
La corrección de la instalación resolvió el problema de la falta de frasco.
fuente
En mi caso, la solución fue tan simple como iniciar mi entorno virtual así:
$ venv/scripts/activate
Resulta que todavía estoy fresco en Python :)
fuente
/etc/apache2/sites-available/FlaskApp.conf
WSGIDaemonProcess FlaskApp python-home=/var/www/FlaskApp/FlaskApp/venv/FlaskApp
WSGIProcessGroup FlaskApp
service apache2 restart
También sigo el tutorial de Flask y encontré el mismo problema, encontré esta manera de solucionarlo.
http://blog.miguelgrinberg.com/post/the-flask-mega-tutorial-part-i-hello-world
fuente
Ir al archivo frasco en microblog, a continuación, active el entorno virtual con
source bin/activate
, y luego ir al frasco / bin e instalar frasco, y el resto de los paquetes,pip install flask
. Verá el matraz listado dentro del directorio bin. Intente ejecutar de./run.py
nuevo desde microblog (o desde donde tenga el archivo).fuente
Incluso yo también sugiero u virtualenv, esto también podría resolver su problema.
Si desea implementar en productionserver, continúe con la solución anterior; de lo contrario, use virtualenv.
fuente
Esto es lo que funcionó para mí cuando obtuve un error similar en Windows; 1. Instale virtualenv
Crea un virtualenv
matraz virtualenv
Vaya a Scripts y active virtualenv
activar
Instalar matraz
frasco de instalación de python -m pip
Compruebe si el matraz está instalado
python -m lista de pip
fuente
ingrese su modo interactivo de Python luego:
import sys
sys.path
imprimirá su ruta. Compruebe si el matraz está instalado en sys.path.
Para MacOS, la ruta de Python se encuentra en /opt/local/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Pero pip instalará el paquete python de forma predeterminada en /Library/Python/2.7/site-packages
Por eso no funciona para MacOS.
fuente
El script del matraz es bueno para iniciar un servidor de desarrollo local, pero tendría que reiniciarlo manualmente después de cada cambio en su código. Eso no es muy agradable y Flask puede hacerlo mejor. Si habilita el soporte de depuración, el servidor se recargará a sí mismo en los cambios de código y también le proporcionará un depurador útil si algo sale mal. Para habilitar el modo de depuración, puede exportar la variable de entorno FLASK_DEBUG antes de ejecutar el servidor: por ejemplo, su archivo es hello.py
fuente
en mi caso, al usar Docker, mi archivo .env no se copió, por lo que no se establecieron las siguientes variables de entorno:
.env.local:
FLASK_APP=src/app.py
entonces en mi
Dockerfile
tuve que incluir:al que se hizo referencia en docker-compose.yml
env_file: ./env/.env.local
Otra cosa a la que tuve que prestar atención es la variable de ruta para asegurar que se use mi entorno
fuente
mi respuesta solo para cualquier usuario que use el proyecto web Visual Studio Flesk:
Simplemente haga clic derecho en "Entorno Python" y haga clic en "Agregar entorno"
fuente
Si está utilizando Pycharm, este es el problema del entorno virtual.
Entonces, al momento de crear su proyecto de Python, tendrá que seleccionar la opción "Intérprete existente" -> haga clic en "Intérprete del sistema" -> seleccione la opción correcta, por ejemplo "* \ AppData \ Local \ Programas \ Python \ Python3.6 \ python.exe ".
También puede usar 'New Virtual Env', pero acabo de dar la solución rápida que debería funcionar para los usuarios de Pycharm.
fuente
Otra cosa: si está utilizando python3, asegúrese de iniciar su servidor con
python3 server.py
, nopython server.py
fuente
Me funcionó después de actualizar pip:
Encontré esa respuesta aquí: https://stackoverflow.com/a/49748494/3197202
Entonces podría instalar el matraz:
fuente