Je veux essayer d'utiliser Flask avec Python3. J'ai Python 3.4 sur Ubuntu 14.04, qui est censé être livré avec pip inclus. J'ai donc essayé
pip3 install flask
cela se termine par:
Cleaning up...
Command /usr/bin/python3 -c "import setuptools, tokenize;__file__='/tmp/pip_build_kramer65/flask/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-i98xjzea-record/install-record.txt --single-version-externally-managed --compile failed with error code 1 in /tmp/pip_build_kramer65/flask
Storing debug log for failure in /tmp/tmpqc3b2nu5
J'ai donc essayé de l'importer, mais en vain:
kramer65@vps1:~/cxs$ python3
Python 3.4.0 (default, Apr 11 2014, 13:05:11)
[GCC 4.8.2] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import flask
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named 'flask'
Je peux bien sûr le télécharger et l'installer en utilisant Sudo python3 setup.py install
de cette façon, mais je préfère le faire "de la manière standard" afin que les choses soient facilement et plus standard à installer sur les machines de production.
Est-ce que quelqu'un sait comment importer Flask avec Python3 et pip? Tous les conseils sont les bienvenus!
Le journal des erreurs est disponible dans http://Pastebin.com/hd6LyVFP
Vous semblez avoir un problème d'autorisation. Du journal que vous avez collé à Pastebin:
error: could not create '/usr/local/lib/python3.4/dist-packages/flask': Permission denied
Cela est dû au fait que pip
tentera d'installer le package globalement, sauf si vous spécifiez un certain emplacement d'installation. Si vous souhaitez l'installer globalement, vous devez utiliser Sudo
ou installer en tant qu'utilisateur avec des privilèges.
Essayez ce qui suit:
Sudo pip3 install flask
Ou spécifiez dans un certain répertoire:
pip install -t <path> flask
Cependant, avec cette dernière méthode, vous devrez toujours injecter le chemin vers sys.modules
donc je vous suggère d'utiliser simplement Sudo
si vous le pouvez.
Ou encore plus préférablement, utilisez virtualenv
. Virtualenv vous permet de très facilement empaqueter votre application pour la production car vous ne pouvez installer que les paquets dont vous avez besoin et vous avez ainsi une isolation automatique des paquets. Génération d'un requirements.txt
est alors aussi simple que pip freeze > requirements.txt
. N'oubliez pas que si vous cessez d'utiliser virtualenv, vous ne devez pas utiliser Sudo
pour installer les packages car ils seront ensuite installés en dehors de virtualenv.
Pour la version Python 3.6.4, il est possible d'installer Flask en faisant:
Sudo pip3.6 install flask