Instaluj uwsgi 1.2.5 przez pip

22

Witamy,

Obecnie próbuję zainstalować najnowsze uwsgi na moim VPS (Ubuntu 11.10) na podstawie instrukcji ze strony link

pip install uwsgi

Podczas kompilacji widzę kilka błędów:

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

I wreszcie widzę:

...

[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

Czy ktoś ma jakieś sugestie, jak mogę zainstalować najnowsze uwsgi?

Pozdrawiam, Grzegorz

    
zadawane Grzegorz 30.08.2012, 20:32
źródło

3 odpowiedzi

38
  

plugins / python / uwsgi_python.h: 2: 20: błąd krytyczny: Python.h: Brak takiego pliku lub katalogu

Aby skompilować rozszerzenia C dla Pythona, potrzebujesz plików rozwojowych Pythona:

$ sudo apt-get install python2.7-dev
    
odpowiedział jfs 01.09.2012, 07:53
źródło
1

Tak samo będzie tutaj, na wypadek, gdyby ktoś inny napotkał ten problem - Mimo że pomyślnie zainstalowaliśmy program python2.7-dev, nadal mamy ten błąd.

Najwyraźniej problemem była niezdolność gcc do znalezienia bibliotek, które próbowały uruchomić biblioteki zawarte w paczce skryptu kompilacji.

W rzeczywistości otrzymaliśmy zip uwsgi pip:      link

, a następnie zmieniając go ręcznie, jak w poniższych krokach -

Najpierw rozpakowaliśmy:

$ tar xvzf uwsgi-1.9.20.tar.gz

Im, zmieniliśmy plik: uwsgiconfig.py , zastępując wiersz 213:

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

do:

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

Zasadniczo, pozwalając gcc wiedzieć, że twoje biblioteki są w /usr/include/libxml2 (tak było w naszym przypadku przynajmniej)

Potem założyliśmy folder:

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

$ gzip uwsgi-1.9.20.tar

I użył pip z tym gzipem:

$ sudo pip install uwsgi-1.9.20.tar.gz

To zadziałało ...

Nadzieja, która pomaga komuś!

    
odpowiedział wilfo 28.11.2013, 14:02
źródło
0

Aby zainstalować pod Cygwin przez pip , potrzebujesz następujących pakietów:

  • gcc-core
  • gcc-g ++ (prawdopodobnie)
  • libcrypt-devel
  • libintl-devel
  • python3
  • python3-devel
odpowiedział tivnet 01.05.2018, 19:40
źródło

Przeczytaj inne pytania na temat tagów