Meistens sind das Abhängigkeiten.
Nach dem Stack-Trace des GCC-Compilers kann man die fehlenden Dateien sehen. Manchmal reicht die Installation der Python-Entwicklungspakete nicht aus.
Zum Beispiel: Ich versuchte pip install requests[security]
in meinen virtualenv foo zu tun. Dies ist das Ergebnis, das der Pip-Installer mir gegeben hat.
Failed building wheel for cryptography
Running setup.py bdist_wheel for cffi
Stored in directory: /root/.cache/pip/wheels/99/e7/9a/68b1c8ca6f6f92b5feebd4d9434f50712b84f6a66d1285ea21
Successfully built cffi
Failed to build cryptography
Installing collected packages: cffi, cryptography, pyOpenSSL, ndg-httpsclient, requests
Running setup.py install for cryptography
Complete output from command /opt/foo/django-cms-virtualenv/bin/python -c "import setuptools, tokenize;__file__='/tmp/pip-build-eZaLAG/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-BwgYTp-record/install-record.txt --single-version-externally-managed --compile --install-headers /opt/foo/django-cms-virtualenv/include/site/python2.7/cryptography:
running install
running build
running build_py
running egg_info
writing requirements to src/cryptography.egg-info/requires.txt
writing src/cryptography.egg-info/PKG-INFO
writing top-level names to src/cryptography.egg-info/top_level.txt
writing dependency_links to src/cryptography.egg-info/dependency_links.txt
writing entry points to src/cryptography.egg-info/entry_points.txt
warning: manifest_maker: standard file '-c' not found
reading manifest file 'src/cryptography.egg-info/SOURCES.txt'
reading manifest template 'MANIFEST.in'
no previously-included directories found matching 'docs/_build'
warning: no previously-included files matching '*' found under directory 'vectors'
writing manifest file 'src/cryptography.egg-info/SOURCES.txt'
running build_ext
building '_Cryptography_cffi_a269d620xd5c405b7' extension
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fPIC -I/usr/include/python2.7 -c src/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_a269d620xd5c405b7.c -o build/temp.linux-x86_64-2.7/src/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_a269d620xd5c405b7.o
src/cryptography/hazmat/bindings/__pycache__/_Cryptography_cffi_a269d620xd5c405b7.c:217:25: fatal error: openssl/aes.h: Datei oder Verzeichnis nicht gefunden
#include <openssl/aes.h>
^
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
Der wichtige Teil ist die: #include <openssl/aes.h>
Der Compiler ziemlich klar macht, dass es diese Datei ist anspruchsvoll - aber es ist nicht, dass es im Dateisystem.
Wissen, dass das einzige, was noch zu tun ist: installieren Sie die benötigten Bibliotheken!
- Finden Sie heraus, welches Paket für Ihre Distribution benötigt wird: z.B. Für Ubuntu können Sie zu The Ubuntu Package Search Site gehen und die fehlende Datei eingeben, die Sie suchen. In diesem Fall "aes.h"
Installieren Sie die benötigten Pakete mit dem Verwaltungstool für die Verteilungspakete: z. für Ubuntu:
aptitude install libssl-dev
Retry mit pip in Ihrem virtualenv:
pip install requests[security]
Dies sollte auf den Server verschoben werden Fehler ? –