web-dev-qa-db-fra.com

Erreur lors de l'installation de uwsgi dans virtualenv

J'essaie d'installer uswgi dans un env. Virtuel sur Linux, Ubuntu, Python 3.5.2.

pip install uwsgi

J'ai eu cette erreur 

Failed building wheel for uwsgi

et à la fin des journaux d'installation 

    *** uWSGI compiling embedded plugins ***
[thread 0][x86_64-linux-gnu-gcc -pthread] plugins/python/python_plugin.o
[thread 1][x86_64-linux-gnu-gcc -pthread] plugins/python/pyutils.o
In file included from plugins/python/python_plugin.c:1:0:
plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
compilation terminated.
In file included from plugins/python/pyutils.c:1:0:
plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory
compilation terminated.

----------------------------------------

Command "/home/ubuntu/envflask/env/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-wthov1ur/uwsgi/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-quiupta5-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/ubuntu/envflask/env/include/site/python3.5/uwsgi" failed with error code 1 in /tmp/pip-build-wthov1ur/uwsgi/
  • X86_64 générique Linux 4.4.0-66
  • Python 3.5.2

C'est une solution pour ça? Merci

13
Alvaro B

Vous devez installer les fichiers de développement Python3.5, exécutez donc cette commande:

apt-get install python3.5-dev

La commande ci-dessus installera les en-têtes Python 3 pour créer uWSGI à partir des sources.

20
McGrady

apt-get install build-essential python3-dev

Depuis uWSGI documentation :

uWSGI est une (grosse) application C, vous avez donc besoin d’un compilateur C (comme gcc ou clang) et des en-têtes de développement Python . Sur une distribution basée sur Debian apt-get install build-essential python-dev suffira.

Pour Python3, changez simplement ceci en python3-dev.

$ python3 --version Python 3.5.2 $ pip3 freeze uWSGI==2.0.15

15
JCotton

Les paquets Debian dépendent de tous les paquets de développement Python 3 supportés:

apt-get install python3-all-dev
3
neclude

si vous rencontrez le même problème lors de l’installation d’Uwsgi sous python3.6 just 

apt-get install python3.6-dev

Dans mon cas, uwsgi installé via buildout

NOTE: peut-être devriez-vous ajouter un ppa valide

3
user1671599

Pour openSUSE (semences), 

  1. J'ai désactivé et supprimé mon venv
  2. installé python3-devel via yast2
  3. puis recréé et activé mon venv
  4. et pip install uwsgi
0
Aaron Williams

Pour ceux qui ont le même problème avec python 3.6, voici l’étape pour le résoudre:

Obtenez les outils de développement python 3.6 à partir de ce ppa:

Sudo add-apt-repository ppa:deadsnakes/ppa

Puis mettez à jour votre liste de paquets avec:

Sudo apt-get update

puis installez vos outils de développement avec la version 3.6

apt-get install build-essential python3.6-dev

Activez votre environnement virtuel avec puis installez uwsgi:

pip install uwsgi
0
Espoir Murhabazi