Ошибка при установке uwsgi в virtualenv

Я пытаюсь установить uswgi в virutal env на linux ubuntu, python 3.5.2 Я делаю

pip install uwsgi

Я получил эту ошибку

Failed building wheel for uwsgi

и в конце журналов установки

    *** 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/
  • Linux 4.4.0-66-generic x86_64
  • Python 3.5.2

Это любое решение для этого? Благодаря

Ответ 1

Вам нужно установить файлы разработки Python3.5, поэтому запустите эту команду:

apt-get install python3.5-dev

Вышеупомянутая команда установит заголовки Python 3 для сборки uWSGI из источника.

Ответ 2

apt-get install build-essential python3-dev

Из документации uWSGI :

uWSGI - это (большое) приложение C, поэтому вам нужен компилятор C (например, gcc или clang) и заголовки разработки Python. В дистрибутиве на Debian apt-get install build-essential python-dev будет достаточно.

Для Python3 просто измените это на python3-dev.

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

Ответ 3

Для тех, у кого Python 3.6 стоит такая же проблема, вот шаг к ее решению:

Получите инструменты разработки Python 3.6 от этого ppa:

sudo add-apt-repository ppa:deadsnakes/ppa

Затем обновите список пакетов с помощью:

sudo apt-get update

а затем установите ваши инструменты разработки с версией 3.6

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

Активируйте вашу виртуальную среду с помощью, а затем установите uwsgi:

pip install uwsgi

Ответ 4

В Debian есть пакет, зависящий от всех поддерживаемых пакетов разработки Python 3:

apt-get install python3-all-dev

Ответ 5

если вы столкнулись с такой же проблемой при установке uwsgi под python3.6 просто

apt-get install python3.6-dev

В моем случае UWSGI установлен через buildout

ПРИМЕЧАНИЕ: может быть, вы должны добавить действительный ppa

Ответ 6

Для openSUSE (вьюнок),

  1. Я деактивировал и удалил свой венв
  2. установленный python3-devel через yast2
  3. затем воссоздал и активировал мой venv
  4. и pip install uwsgi

Ответ 7

если вы хотите установить команду uwsgi, через

curl http://uwsgi.it/install | bash -s default /tmp/uwsgi

mv/tmp/uwsgi в /usr/local что нибудь