Installa uwsgi 1.2.5 tramite pip


22

Benvenuto,

Attualmente sto cercando di installare gli ultimi uwsgi sul mio VPS (Ubuntu 11.10) in base alle istruzioni del sito http://projects.unbit.it/uwsgi/wiki/Quickstart

pip install uwsgi

Durante la compilazione vedo alcuni errori:

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

...

[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

Qualcuno ha qualche suggerimento come posso installare gli ultimi uwsgi?

Saluti, Grzegorz


1
Quello che è risultato dopo aver seguito tutti i consigli sopra è che invece di eseguire pip3 install uwsgi dovrei eseguire il comando come root: sudo pip3 install uwsgi
tomekwi

Risposte:


38

plugins / python / uwsgi_python.h: 2: 20: errore irreversibile: Python.h: nessun file o directory

Per compilare estensioni C per Python sono necessari i file di sviluppo Python:

$ sudo apt-get install python2.7-dev

@JFSebastian: per favore, dai un'occhiata al relativo askubuntu.com/q/499206/306605 . Grazie.
pe


Ha avuto lo stesso errore su Debian Wheezy con Python 3.4, questo mi ha aiutato, grazie!
fnkr

a ho python2.7-devinstallato e vedo ancora l'errore
yentsun

1

Proprio così sarà qui nel caso in cui qualcun altro dovesse imbattersi in questo problema - Anche se abbiamo installato con successo python2.7-dev abbiamo ancora questo errore.

Ciò che apparentemente era il problema era l'incapacità di gcc di trovare le librerie che erano incluse nel pip dello script di compilazione che stava cercando di eseguire.

alla fine abbiamo ottenuto il pip zip uwsgi: https://pypi.python.org/packages/source/u/uWSGI/uwsgi-1.9.20.tar.gz

e poi cambiandolo manualmente come con i seguenti passaggi -

Innanzitutto, abbiamo decompresso:

$ tar xvzf uwsgi-1.9.20.tar.gz

Li abbiamo modificato il file:, uwsgiconfig.pysostituendo la riga 213:

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

a:

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

Fondamentalmente, far sapere a gcc che le tue librerie sono /usr/include/libxml2(almeno questo era il nostro caso)

Successivamente, abbiamo decompresso la cartella:

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

$ gzip uwsgi-1.9.20.tar

E ho usato pip con quel gzip:

$ sudo pip install uwsgi-1.9.20.tar.gz

E ha funzionato ..

Spero che aiuti qualcuno!


la tua installazione di gcc è interrotta se non riesci a trovare le intestazioni installate tramite pacchetti standard
jfs

0

Per l'installazione su Cygwin tramite pip, sono necessari i seguenti pacchetti:

  • gcc-core
  • gcc-g ++ (probabilmente)
  • libcrypt-devel
  • libintl-devel
  • python3
  • python3-devel
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.