web-dev-qa-db-ja.com

「エラー:コマンド 'x86_64-linux-gnu-gcc'は、virtualenvの終了ステータス1で失敗しました」

環境: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バージョンだけに追加できますか?

25
user1063287

Linux Mint 17のSynaptic Package Manager経由でpython2.7-devをインストールしました。

virtualenvで次のことを達成できました。

pip install pillow
pip install pycrypto

そして、Synaptic経由でlibxml2-devlibxslt1-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は孤立した環境だと思っていたため、これが問題をどのように解決するのか、まだ混乱しています。これについての説明はありがたいです。

16
user1063287

ほとんどの場合、これらは依存関係の問題です。

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>

コンパイラは、このファイルを要求していることを明確に示していますが、ファイルシステムにはありません。

それを知って、やるべきことは次のとおりです:必要なライブラリをインストールしてください!

  1. ディストリビューションに必要なパッケージを見つけます。 Ubuntuの場合は、 buntuパッケージ検索サイト に移動して、探している不足しているファイルを入力します。この場合、「aes.h
  2. 配布パッケージ管理ツールを使用して、必要なパッケージをインストールします。 Ubuntuの場合:

    aptitude install libssl-dev

  3. Virtualenvでpipを使用して再試行します。

    pip install requests[security]

20

私のために働く:
最初にpython2.7-devをインストールするだけです
Sudo apt-get install python2.7-dev

5
GrvTyagi

Ubuntu 16.04.1では、これは私のために働いた:

Sudo apt-get install libxml2-dev libxslt1-dev python-dev
2
flurix8

私にとって、lxmlのインストールはコンパイル時に失敗していました。 lxmlのインストール手順に従って、コンパイラーの最適化を削減しました。

Sudo CFLAGS="-O0"  pip install lxml

これを実行した後、lxmlのコンパイルは成功しました。

1
Patrick Collins

cffiライブラリにはlibffi-devが必要です:

Sudo apt-get install libffi libffi-dev
0
M.javid

これは私のために動作します、12.04、パッケージlxmlのpython2.7.6

Sudo pip install libxml2 libxml2-dev libxslt1-dev
Sudo pip install lxml
0
Jesse Yan

これはピップの問題になる可能性があります。解決するには、次を試してください:

Sudo apt-get remove python-pip

Pipをインストールするには、get-pip.pyを安全にダウンロードしてください。

https://bootstrap.pypa.io/get-pip.py

Sudo python get-pip.py

0
Gilmar Soares

最も簡単な方法は次のとおりです。

Sudo apt-get build-dep python-imaging

その後

pip install pillow
0
jatin