Instale o uwsgi 1.2.5 via pip

22

Bem vinda,

Atualmente, estou tentando instalar os uwsgi mais recentes no meu VPS (Ubuntu 11.10) com base nas instruções do site http://projects.unbit.it/uwsgi/wiki/Quickstart

pip install uwsgi

Durante a compilação, vejo alguns erros:

...
[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
...

E finalmente vejo:

...

[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

Alguém tem alguma sugestão de como instalar uwsgi mais recente?

Atenciosamente, Grzegorz

Grzegorz
fonte
1
O que acabou depois de seguir todos os conselhos acima é que em vez de PIP3 executar a instalação uwsgi eu deveria executar o comando como root: sudo PIP3 instalar uwsgi
tomekwi

Respostas:

38

plugins / python / uwsgi_python.h: 2: 20: erro fatal: Python.h: esse arquivo ou diretório não existe

Para compilar extensões C para Python, você precisa de arquivos de desenvolvimento em Python:

$ sudo apt-get install python2.7-dev
jfs
fonte
@JFSebastian: Por favor, dê uma olhada no askubuntu.com/q/499206/306605 relacionado . Obrigado.
pepr 18/07/2014
@JFSebastian: ... ou stackoverflow.com/q/24822829/1346705
pepr
Teve o mesmo erro no Debian Wheezy com Python 3.4, isso ajudou, obrigado!
fnkr
um tem python2.7-devinstalado e ainda ver o erro
yentsun
1

Assim também estará aqui, caso outra pessoa encontre esse problema - Embora tenhamos instalado o python2.7-dev com sucesso, ainda temos esse erro.

O que aparentemente era o problema era a incapacidade do gcc de encontrar as bibliotecas incluídas no script de construção que o pip estava tentando executar.

acabamos obtendo o zip do uwsgi pip: https://pypi.python.org/packages/source/u/uWSGI/uwsgi-1.9.20.tar.gz

e alterá-lo manualmente, como nas etapas a seguir -

Primeiro, descompactamos:

$ tar xvzf uwsgi-1.9.20.tar.gz

Eles, editamos o arquivo:, uwsgiconfig.pysubstituindo a linha 213:

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

para:

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

Basicamente, informando ao gcc que suas bibliotecas estão /usr/include/libxml2(este foi o nosso caso, pelo menos)

Depois disso, compactamos novamente a pasta:

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

$ gzip uwsgi-1.9.20.tar

E usou pip com esse gzip:

$ sudo pip install uwsgi-1.9.20.tar.gz

E isso funcionou ..

Espero que ajude alguém!

wilfo
fonte
sua instalação gcc é quebrada se não consegue encontrar cabeçalhos que estão instalados através de pacotes padrão
JFS
0

Para instalar no Cygwin via pip, precisa dos seguintes pacotes:

  • gcc-core
  • gcc-g ++ (provavelmente)
  • libcrypt-devel
  • libintl-devel
  • python3
  • python3-devel
tivnet
fonte