Установите uwsgi 1.2.5 через pip


22

Добро пожаловать,

В настоящее время я пытаюсь установить последнюю версию uwsgi на свой VPS (Ubuntu 11.10) на основе инструкции с сайта http://projects.unbit.it/uwsgi/wiki/Quickstart.

pip install uwsgi

Во время компиляции я вижу некоторые ошибки:

...
[gcc -pthread] spooler.o
*** uWSGI compiling embedded plugins ***
[gcc -pthread] plugins/python/python_plugin.o
Complete output from command /usr/bin/python -c "import setuptools;__file__='/etc/apt/sources.list.d/build/uwsgi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-joud1I-record/install-record.txt:
running install

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.

using profile: buildconf/default.ini

detected include path: ['/usr/lib/gcc/i686-linux-gnu/4.6.1/include','/usr/local/include', '/usr/lib/gcc/i686-linux-gnu/4.6.1/include-fixed', '/usr/include/i386-linux-gnu', '/usr/include']

Patching "bin_name" to properly install_scripts dir
...

И наконец я вижу:

...

[gcc -pthread] spooler.o

*** uWSGI compiling embedded plugins ***

[gcc -pthread] plugins/python/python_plugin.o

----------------------------------------
Command /usr/bin/python -c "import setuptools;__file__='/etc/apt/sources.list.d/build/uwsgi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --single-version-externally-managed --record /tmp/pip-joud1I-record/install-record.txt failed with error code 1 in /etc/apt/sources.list.d/build/uwsgi
Storing complete log in /root/.pip/pip.log

У кого-нибудь есть предложения, как мне установить последнюю версию uwsgi?

С уважением, Гжегож


1
После выполнения всех приведенных выше советов выяснилось, что вместо запуска pip3 установите uwsgi, я должен выполнить команду от имени пользователя root: sudo pip3 установить uwsgi
tomekwi

Ответы:


38

plugins / python / uwsgi_python.h: 2: 20: фатальная ошибка: Python.h: такого файла или каталога нет

Для компиляции расширений C для Python вам понадобятся файлы разработки Python:

$ sudo apt-get install python2.7-dev

@JFSebastian: Пожалуйста, посмотрите на соответствующий askubuntu.com/q/499206/306605 . Спасибо.
pepr

@JFSebastian: ... или stackoverflow.com/q/24822829/1346705
pepr

Была такая же ошибка на Debian Wheezy с Python 3.4, это помогло, спасибо!
fnkr

А имеют python2.7-devустановки и по- прежнему видеть ошибки
yentsun

1

Точно так же будет и здесь, в случае, если кто-то еще столкнется с этой проблемой - Даже если мы успешно установили python2.7-dev, мы все равно получили эту ошибку.

По всей видимости, проблема заключалась в невозможности gcc найти библиотеки, которые были включены в сценарий сборки, который пытался запустить pip.

мы фактически получили почтовый индекс uwsgi: https://pypi.python.org/packages/source/u/uWSGI/uwsgi-1.9.20.tar.gz

а затем измените его вручную, как в следующих шагах -

Сначала мы распаковали его:

$ tar xvzf uwsgi-1.9.20.tar.gz

Их мы отредактировали в файле:, uwsgiconfig.pyзаменив строку 213:

cmdline = "%s -c %s -o %s %s" % (GCC, cflags, objfile, srcfile)

чтобы:

cmdline = "%s -I/usr/include/libxml2 -c %s -o %s %s" % (GCC, cflags, objfile, srcfile)

В основном, давая знать gcc, что ваши библиотеки находятся на /usr/include/libxml2 (по крайней мере, в нашем случае)

После этого мы распаковали папку:

$ tar cvf uwsgi-1.9.20.tar uwsgi-1.9.20/

$ gzip uwsgi-1.9.20.tar

И использовал pip с этим gzip:

$ sudo pip install uwsgi-1.9.20.tar.gz

И это сработало ..

Надеюсь, что это помогает кому-то!


Ваша установка gcc не работает, если не удается найти заголовки, которые устанавливаются через стандартные пакеты
jfs

0

Для установки под Cygwin через pip, необходимы следующие пакеты:

  • НКУ-жильный
  • gcc-g ++ (возможно)
  • libcrypt-разви
  • libintl-разви
  • python3
  • python3-разви
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.