Instal uwsgi 1.2.5 via pip

22

Selamat datang,

Saat ini saya sedang mencoba menginstal uwsgi terbaru pada VPS saya (Ubuntu 11.10) berdasarkan instruksi dari situs http://projects.unbit.it/uwsgi/wiki/Quickstart

pip install uwsgi

Selama kompilasi saya melihat beberapa kesalahan:

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

Dan akhirnya saya melihat:

...

[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

Adakah yang punya saran bagaimana saya bisa menginstal uwsgi terbaru?

Salam, Grzegorz

Grzegorz
sumber
1
Apa yang ternyata setelah mengikuti semua saran di atas adalah bahwa alih-alih menjalankan pip3 install uwsgi, saya harus menjalankan perintah sebagai root: sudo pip3 install uwsgi
tomekwi

Jawaban:

38

plugins / python / uwsgi_python.h: 2: 20: kesalahan fatal: Python.h: Tidak ada file atau direktori

Untuk mengkompilasi ekstensi C untuk Python Anda memerlukan file pengembangan Python:

$ sudo apt-get install python2.7-dev
jfs
sumber
@JFSebastian: Silakan, lihat askubuntu.com/q/499206/306605 terkait . Terima kasih.
pepr
@JFSebastian: ... or stackoverflow.com/q/24822829/1346705
pepr
Memiliki kesalahan yang sama pada Debian Wheezy dengan Python 3.4, ini membantu, terima kasih!
fnkr
a telah python2.7-devdiinstal dan masih melihat kesalahan
yentsun
1

Hanya akan ada di sini kalau-kalau ada orang lain menemukan masalah ini - Meskipun kami telah menginstal python2.7-dev berhasil kami masih mendapat kesalahan ini.

Apa yang tampaknya menjadi masalah adalah ketidakmampuan gcc untuk menemukan perpustakaan yang termasuk dalam pip skrip build yang coba dijalankan.

kami akhirnya mendapatkan zip pip uwsgi: https://pypi.python.org/packages/source/u/uWSGI/uwsgi-1.9.20.tar.gz

dan kemudian mengubahnya secara manual seperti dengan langkah-langkah berikut -

Pertama, kami membuka ritsletingnya:

$ tar xvzf uwsgi-1.9.20.tar.gz

Mereka, kami mengedit file:, uwsgiconfig.pymengganti baris 213:

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

untuk:

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

Pada dasarnya, memberi tahu gcc bahwa perpustakaan Anda ada di /usr/include/libxml2(setidaknya ini adalah kasus kami)

Setelah itu, kami membuka kembali folder:

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

$ gzip uwsgi-1.9.20.tar

Dan menggunakan pip dengan gzip itu:

$ sudo pip install uwsgi-1.9.20.tar.gz

Dan itu berhasil ..

Semoga itu bisa membantu seseorang!

wilfo
sumber
instalasi gcc Anda rusak jika tidak dapat menemukan header yang diinstal melalui paket standar
jfs
0

Untuk menginstal di bawah Cygwin via pip, perlu paket-paket berikut:

  • gcc-core
  • gcc-g ++ (mungkin)
  • libcrypt-devel
  • Lible-devel
  • python3
  • python3-devel
tivnet
sumber