J'ai un problème avec le module flask_login.
j'ai installé le module flask_login avec succès. Également à partir de la commande Invite, je peux exécuter ce script facilement sans erreur:
Python 2.7 (r27:82525, Jul 4 2010, 07:43:08) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> from flask.ext.login import LoginManager
Mais quand je lance ce script:
from flask import Flask
from flask.ext.login import LoginManager
app = Flask(__name__)
@app.route("/")
def hello():
return "Hello World! Welcome"
if __== "__main__":
app.run()
je reçois l'erreur:
ImportError: No module named flask.ext.login
Quelle est l'erreur que je fais. Je suis très nouveau dans cette fiole. Merci d'avance.
Si la suite ne fonctionne pas:
from flask.ext.login import LoginManager
essayez ce qui suit:
from flask_login import LoginManager
C'est la nouvelle convention.
Pour trouver la version de flask-login, vous pouvez exécuter la commande suivante dans terminal. Il suffit de changer le nom pour connaître la version des autres packages.
pip show flask-login
Installez pip, puis utilisez la commande suivante:
C:\Python27\scripts>pip install Flask-Login
Si vous avez déjà installé flask-login par
$pip install flask_login
Essayez de remplacer le
from flask.ext.login import LoginManager
avec
from flask_login import LoginManager
Il s’agit d’une erreur d’environnement. PYTHONPATH n’est pas configuré correctement, même si vous utilisez IDE. Vous pouvez le tester en créant un petit fichier test: test.py, avec le contenu suivant:
from os import environ
print environ.get('PYTHONPATH')
Si PYTHONPATH ne contient pas le répertoire qui contient votre paquet Flask-Login, c'est le problème.
Initialement, j'ai installé flask_login sur un environnement virtuel. J'ai découvert que c'est essayer de trouver sur la machine. Donc je l'ai installé globalement comme;
mycomp # pip install -U flask_login
Cela a résolu le problème.
See Pour moi, la solution la plus simple consiste à supprimer .ext de flask.ext.login
et à taper simplement flask_login
. Cela fonctionne pour Python 3 et assurez-vous que vous avez correctement installé le paquet souhaité.
Étrange, mais cela a fonctionné lorsque j'ai essayé d'exécuter le script à partir d'une invite de commande.
C:\Users\dib\Desktop>python foo.py
* Running on http://127.0.0.1:5000/
127.0.0.1 - - [11/Feb/2014 18:03:52] "GET / HTTP/1.1" 200 -
Mais lorsque j'essaie de fonctionner à partir de la valeur par défaut IDE pressing f5
de Python, cela ne fonctionne pas.
La solution est simple Différentes versions du flacon fonctionnent avec des codes différents, il suffit donc de changer le code: flask.ext.login en code: flask_login
Cela devrait fonctionner sans heurts.
Notez que cela s'applique également au bootstrap. En fait, afin de trouver la solution, j'ai eu l'erreur lors de l'importation de bootstrap.