web-dev-qa-db-fra.com

Comment installer Flask sur Python3 en utilisant pip?

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

12
kramer65

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.

23
msvalkon

Pour la version Python 3.6.4, il est possible d'installer Flask en faisant:

Sudo pip3.6 install flask
1
Vj Raw