環境:Linux Mint 17 Cinnamon。
このエラーは表示されます:
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
virtualenv
で次を試行する場合:
pip install lxml
pip install pillow
pip install pycrypto
pip install pymongo (fails but still shows in pip freeze)
python2.7-dev
のインストールを推奨するいくつかのソリューションがあります。
枕のインストールエラー:セットアップスクリプトがエラーで終了しました:コマンド 'x86_64-linux-gnu-gcc'は終了ステータス1で失敗しました
pipインストールエラーを介してvirtualenvにlxmlをインストール:コマンド 'x86_64-linux-gnu-gcc'が失敗しました
枕のインストールエラー:コマンド 'gcc'は終了ステータス1で失敗しました
致命的なエラー:Python.h:そのようなファイルまたはディレクトリはありません
ただし、次のようなものを使用することは私の理解であるため、この推奨事項は混乱しています。
Sudo apt-get install python2.7-dev
これは、virtualenv
のインスタンスではなく、Pythonのメイン* system *インスタンスに追加します。 (- https://unix.stackexchange.com/a/56392/92486 を参照)
python2.7-dev
をPythonのvirtualenv
バージョンだけに追加できますか?
Linux Mint 17のSynaptic Package Manager経由でpython2.7-dev
をインストールしました。
virtualenv
で次のことを達成できました。
pip install pillow
pip install pycrypto
そして、Synaptic経由でlibxml2-dev
とlibxslt1-dev
をインストールし、次のことを達成できました。
pip install lxml
Pymongoのインストールでエラーが発生しないように、これも行いました。
pip uninstall pymongo
pip install pymongo # i defined the version i needed ie pip install pymongo==2.6.2
virtualenv
は孤立した環境だと思っていたため、これが問題をどのように解決するのか、まだ混乱しています。これについての説明はありがたいです。
ほとんどの場合、これらは依存関係の問題です。
Gccコンパイラのスタックトレースに従って、不足しているファイルを確認できます。時々Python開発パッケージをインストールするだけでは不十分です。
例:pip install requests[security]
私のvirtualenvfooで。これは、pip-installerから得られた結果です。
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
重要な部分は:#include <openssl/aes.h>
コンパイラは、このファイルを要求していることを明確に示していますが、ファイルシステムにはありません。
それを知って、やるべきことは次のとおりです:必要なライブラリをインストールしてください!
配布パッケージ管理ツールを使用して、必要なパッケージをインストールします。 Ubuntuの場合:
aptitude install libssl-dev
Virtualenvでpipを使用して再試行します。
pip install requests[security]
私のために働く:
最初にpython2.7-devをインストールするだけですSudo apt-get install python2.7-dev
Ubuntu 16.04.1では、これは私のために働いた:
Sudo apt-get install libxml2-dev libxslt1-dev python-dev
私にとって、lxmlのインストールはコンパイル時に失敗していました。 lxmlのインストール手順に従って、コンパイラーの最適化を削減しました。
Sudo CFLAGS="-O0" pip install lxml
これを実行した後、lxmlのコンパイルは成功しました。
cffi
ライブラリにはlibffi-dev
が必要です:
Sudo apt-get install libffi libffi-dev
これは私のために動作します、12.04、パッケージlxmlのpython2.7.6
Sudo pip install libxml2 libxml2-dev libxslt1-dev
Sudo pip install lxml
これはピップの問題になる可能性があります。解決するには、次を試してください:
Sudo apt-get remove python-pip
Pipをインストールするには、get-pip.pyを安全にダウンロードしてください。
https://bootstrap.pypa.io/get-pip.py
Sudo python get-pip.py
最も簡単な方法は次のとおりです。
Sudo apt-get build-dep python-imaging
その後
pip install pillow