what pagina oficial homepage app python flask

python - pagina - Frasco ImportError: ningún módulo denominado matraz



python flask version (17)

Estoy siguiendo el tutorial de Flask aquí:

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

Llego al punto donde 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 matraz

Pero sus soluciones no son útiles. Como referencia, tengo una carpeta llamada frasco que un usuario mencionado puede causar problemas.


  1. Edite /etc/apache2/sites-available/FlaskApp.conf
  2. Agregue las dos líneas siguientes antes de la línea "WSGIScriptAlias":

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

  1. Reiniciar Apache: service apache2 restart

También sigo el tutorial de Flask. Y encontré el mismo problema. Encontré esta forma de solucionarlo.

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


Después de activar el entorno virtual e instalar Flask, creé un archivo app.py. Lo ejecuto así: python -m flask run . Espero que esto ayude!


El script de 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 la compatibilidad con la depuración, el servidor se volverá a cargar en los cambios de código, y también le proporcionará un depurador útil si las cosas salen 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

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


En mi caso, la solución fue tan simple como iniciar mi entorno virtual de esta manera:

$ venv/scripts/activate

Resulta que todavía estoy fresco para Python :)


Estaba usando python2 pero instalé esto: sudo apt-get install libapache2-mod-wsgi-py3

En lugar de: sudo apt-get install libapache2-mod-wsgi

Corregir la instalación solucionó el problema de no matraz.


Esto es lo que funcionó para mí cuando recibí un error similar en Windows; 1. Instalar virtualenv

pip install virtualenve

  1. Crea un virtualenv

    matraz virtualenv

  2. Navegue a Scripts y active virtualenv

    activar

  3. Instalar matraz

    matraz de instalación python -m pip

  4. Compruebe si el matraz está instalado

    Python -m pip list


Funcionó para mí después de actualizar pip:

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

Encontré esa respuesta aquí: https://.com/a/49748494/3197202

Entonces podría instalar el matraz:

pip install flask


Incluso yo también te sugiero virtualenv, esto también podría resolver su problema.

sudo apt install python-flask

Si desea implementar en el servidor de producción, continúe con la solución anterior; de lo contrario, use virtualenv.


La única forma que pude resolver fue agregando mi directorio python de usuarios al archivo myapp.wsgi. Como ejemplo:

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

Supongo que si instala los paquetes en el entorno global, no debería tener ningún problema, pero tenía mis paquetes de Python instalados como usuario.


Para uso en python 3

matraz de instalación pip3


Tuve un problema similar con flasger.

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 las personas pip install Flask con la tapa F

Publicar 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?


Vaya al archivo del matraz en microblog, luego active el entorno virtual con source bin/activate , luego vaya a frasco / bin e instale el matraz, y el resto de los paquetes, pip install flask . Verá el matraz en el directorio bin. Intente ejecutar ./run.py nuevamente desde microblog (o desde donde tenga el archivo).


en mi caso con Docker, mi archivo .env no se copió, por lo que no se configuraron los siguientes entornos:

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

así que en mi Dockerfile tuve que incluir:

FROM deploy as dev COPY env ./env

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 garantizar que se use mi entorno

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


esto es lo que funcionó para mí

sudo -H pip install flask

O para el uso de pip3 (python3):

sudo -H pip3 install flask

Nota al margen

Si está utilizando virtualenv, es una buena idea hacer pip freeze >> requirements.txt para permitir que los paquetes instalados se enumeren en un solo lugar. El comando sudo y la bandera -H . Para más información sobre la bandera -H sudo , mire Paul''s answer Paul''s . Espero que esto te ayude.


ingrese a su modo interactivo de Python y luego:

import sys

sys.path

imprimirá tu camino. Compruebe si el matraz está instalado en el sys.path.

Para MacOS, la ruta de Python está 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.


intente eliminar el virtualenv que creó. crear un nuevo virtualenv

virtualenv flask

entonces

cd flask

vamos a activar el virtualenv

source bin/activate

ahora debería ver (frasco) a la izquierda de la línea de comando. Instalemos el matraz

pip install flask

Luego crea un archivo hello.py

from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!" if __name__ == "__main__": app.run()

y ejecutarlo con

python hello.py

Frasco de actualización 1.0.2

Con la nueva versión del matraz no hay necesidad de ejecutar la aplicación desde su script. hello.py debería verse así ahora:

from flask import Flask app = Flask(__name__) @app.route("/") def hello(): return "Hello World!"

y ejecutarlo con

FLASK_APP=hello.py flask run

asegúrese de estar dentro de la carpeta donde está hello.py cuando ejecute el último comando.

Todos los pasos antes de la creación de hello.py se aplican también a este caso


mi respuesta solo para cualquier usuario que use el proyecto web Visual Studio Flesk:

Simplemente haga clic derecho en "Python Environment" y haga clic en "Agregar entorno"