web-dev-qa-db-ja.com

PIPとsetup.pyを使用したPython暗号化パッケージのインストールに失敗しました

pip install cryptographyを介して、または 彼らのサイト からパッケージをダウンロードしてpython setup.pyを実行することによって、Python用の Cryptography パッケージをインストールしようとすると、次のエラーが発生します。


D:\Anaconda\Scripts\pip-script.py run on 02/27/14 16:13:17
Downloading/unpacking cryptography
  Getting page https://pypi.python.org/simple/cryptography/
  URLs to search for versions for cryptography:
  * https://pypi.python.org/simple/cryptography/
  Analyzing links from page https://pypi.python.org/simple/cryptography/
    Skipping https://pypi.python.org/packages/cp26/c/cryptography/cryptography-0.2-cp26-none-win32.whl#md5=13e5c4b19520e7dc6f07c6502b3f74e2 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/cp26/c/cryptography/cryptography-0.2.1-cp26-none-win32.whl#md5=00e733648ee5cdb9e58876238b1328f8 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/cp27/c/cryptography/cryptography-0.2-cp27-none-win32.whl#md5=013ccafa6a5a3ea92c73f2c1c4879406 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/cp27/c/cryptography/cryptography-0.2.1-cp27-none-win32.whl#md5=127d6a5dc687250721f892d55720a06c (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/cp32/c/cryptography/cryptography-0.2-cp32-none-win32.whl#md5=051424a36e91039807b72f112333ded3 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/cp32/c/cryptography/cryptography-0.2.1-cp32-none-win32.whl#md5=53f6f57db8e952d64283baaa14cbde3d (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/cp33/c/cryptography/cryptography-0.2-cp33-none-win32.whl#md5=302812c1c1a035cf9ba3292f8dbf3f9e (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Skipping https://pypi.python.org/packages/cp33/c/cryptography/cryptography-0.2.1-cp33-none-win32.whl#md5=81acca90caf8a45f2ca73f3f9859fae4 (from https://pypi.python.org/simple/cryptography/) because it is not compatible with this Python
    Found link https://pypi.python.org/packages/source/c/cryptography/cryptography-0.1.tar.gz#md5=bdc1c5fe069deca7467b71a0cc538f17 (from https://pypi.python.org/simple/cryptography/), version: 0.1
    Found link https://pypi.python.org/packages/source/c/cryptography/cryptography-0.2.1.tar.gz#md5=872fc04268dadc66a0305ae5ab1c123b (from https://pypi.python.org/simple/cryptography/), version: 0.2.1
    Found link https://pypi.python.org/packages/source/c/cryptography/cryptography-0.2.tar.gz#md5=8a3d21e837a21e1b7634ee1f22b06bb6 (from https://pypi.python.org/simple/cryptography/), version: 0.2
  Using version 0.2.1 (newest of versions: 0.2.1, 0.2, 0.1)
  Downloading from URL https://pypi.python.org/packages/source/c/cryptography/cryptography-0.2.1.tar.gz#md5=872fc04268dadc66a0305ae5ab1c123b (from https://pypi.python.org/simple/cryptography/)
  Running setup.py (path:c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography\setup.py) Egg_info for package cryptography
    In file included from c/_cffi_backend.c:7:0:
    c/misc_win32.h:225:23: error: two or more data types in declaration specifiers
    c/misc_win32.h:225:1: warning: useless type name in empty declaration [enabled by default]
    c/_cffi_backend.c: In function 'convert_array_from_object':
    c/_cffi_backend.c:1105:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1105:26: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c:1130:30: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1130:30: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c:1150:30: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1150:30: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'convert_struct_from_object':
    c/_cffi_backend.c:1183:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1183:26: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c:1196:30: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1196:30: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'cdata_repr':
    c/_cffi_backend.c:1583:13: warning: unknown conversion type character 'L' in format [-Wformat]
    c/_cffi_backend.c:1583:13: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c:1595:9: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1595:9: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'cdataowning_repr':
    c/_cffi_backend.c:1647:30: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1647:30: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function '_cdata_get_indexed_ptr':
    c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1820:26: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function '_cdata_getslicearg':
    c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1872:26: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'cdata_ass_slice':
    c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1951:26: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1969:30: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c:1983:22: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:1983:22: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'cdata_call':
    c/_cffi_backend.c:2367:30: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:2367:30: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
    c/_cffi_backend.c:2367:30: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'cast_to_integer_or_char':
    c/_cffi_backend.c:2916:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:2916:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
    c/_cffi_backend.c:2916:26: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c:2928:26: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:2928:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]
    c/_cffi_backend.c:2928:26: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'new_array_type':
    c/_cffi_backend.c:3480:9: warning: unknown conversion type character 'l' in format [-Wformat]
    c/_cffi_backend.c:3480:9: warning: too many arguments for format [-Wformat-extra-args]
    c/_cffi_backend.c: In function 'b_complete_struct_or_union':
    c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]
    c/_cffi_backend.c:3878:22: warning: too many arguments for format [-Wformat-extra-args]
    Traceback (most recent call last):
      File "<string>", line 17, in <module>
      File "c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography\setup.py", line 113, in <module>
        "build": cffi_build,
      File "D:\Anaconda\lib\distutils\core.py", line 112, in setup
        _setup_distribution = dist = klass(attrs)
      File "build\bdist.win-AMD64\Egg\setuptools\dist.py", line 239, in __init__
      File "build\bdist.win-AMD64\Egg\setuptools\dist.py", line 264, in fetch_build_eggs
      File "build\bdist.win-AMD64\Egg\pkg_resources.py", line 580, in resolve
        dist = best[req.key] = env.best_match(req, ws, installer)
      File "build\bdist.win-AMD64\Egg\pkg_resources.py", line 818, in best_match
        return self.obtain(req, installer) # try and download/install
      File "build\bdist.win-AMD64\Egg\pkg_resources.py", line 830, in obtain
        return installer(requirement)
      File "build\bdist.win-AMD64\Egg\setuptools\dist.py", line 314, in fetch_build_Egg
      File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 593, in easy_install

      File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 623, in install_item

      File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 809, in install_eggs

      File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 1015, in build_and_install

      File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 1003, in run_setup

    distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1
    Complete output from command python setup.py Egg_info:
    In file included from c/_cffi_backend.c:7:0:

c/misc_win32.h:225:23: error: two or more data types in declaration specifiers

c/misc_win32.h:225:1: warning: useless type name in empty declaration [enabled by default]

c/_cffi_backend.c: In function 'convert_array_from_object':

c/_cffi_backend.c:1105:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1105:26: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c:1130:30: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1130:30: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c:1150:30: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1150:30: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'convert_struct_from_object':

c/_cffi_backend.c:1183:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1183:26: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c:1196:30: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1196:30: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'cdata_repr':

c/_cffi_backend.c:1583:13: warning: unknown conversion type character 'L' in format [-Wformat]

c/_cffi_backend.c:1583:13: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c:1595:9: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1595:9: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'cdataowning_repr':

c/_cffi_backend.c:1647:30: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1647:30: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function '_cdata_get_indexed_ptr':

c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1820:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1820:26: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function '_cdata_getslicearg':

c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1872:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1872:26: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'cdata_ass_slice':

c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1951:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1951:26: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1969:30: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1969:30: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c:1983:22: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:1983:22: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'cdata_call':

c/_cffi_backend.c:2367:30: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:2367:30: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]

c/_cffi_backend.c:2367:30: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'cast_to_integer_or_char':

c/_cffi_backend.c:2916:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:2916:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]

c/_cffi_backend.c:2916:26: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c:2928:26: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:2928:26: warning: format '%s' expects argument of type 'char *', but argument 3 has type 'Py_ssize_t' [-Wformat]

c/_cffi_backend.c:2928:26: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'new_array_type':

c/_cffi_backend.c:3480:9: warning: unknown conversion type character 'l' in format [-Wformat]

c/_cffi_backend.c:3480:9: warning: too many arguments for format [-Wformat-extra-args]

c/_cffi_backend.c: In function 'b_complete_struct_or_union':

c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:3878:22: warning: unknown conversion type character 'z' in format [-Wformat]

c/_cffi_backend.c:3878:22: warning: too many arguments for format [-Wformat-extra-args]

Traceback (most recent call last):

  File "<string>", line 17, in <module>

  File "c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography\setup.py", line 113, in <module>

    "build": cffi_build,

  File "D:\Anaconda\lib\distutils\core.py", line 112, in setup

    _setup_distribution = dist = klass(attrs)

  File "build\bdist.win-AMD64\Egg\setuptools\dist.py", line 239, in __init__

  File "build\bdist.win-AMD64\Egg\setuptools\dist.py", line 264, in fetch_build_eggs

  File "build\bdist.win-AMD64\Egg\pkg_resources.py", line 580, in resolve

    dist = best[req.key] = env.best_match(req, ws, installer)

  File "build\bdist.win-AMD64\Egg\pkg_resources.py", line 818, in best_match

    return self.obtain(req, installer) # try and download/install

  File "build\bdist.win-AMD64\Egg\pkg_resources.py", line 830, in obtain

    return installer(requirement)

  File "build\bdist.win-AMD64\Egg\setuptools\dist.py", line 314, in fetch_build_Egg

  File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 593, in easy_install



  File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 623, in install_item



  File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 809, in install_eggs



  File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 1015, in build_and_install



  File "build\bdist.win-AMD64\Egg\setuptools\command\easy_install.py", line 1003, in run_setup



distutils.errors.DistutilsError: Setup script exited with error: command 'gcc' failed with exit status 1

----------------------------------------
Cleaning up...
  Removing temporary dir c:\users\paco\appdata\local\temp\pip_build_Paco...
Command python setup.py Egg_info failed with error code 1 in c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography
Exception information:
Traceback (most recent call last):
  File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.Egg\pip\basecommand.py", line 122, in main
    status = self.run(options, args)
  File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.Egg\pip\commands\install.py", line 278, in run
    requirement_set.prepare_files(Finder, force_root_Egg_info=self.bundle, bundle=self.bundle)
  File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.Egg\pip\req.py", line 1229, in prepare_files
    req_to_install.run_Egg_info()
  File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.Egg\pip\req.py", line 325, in run_Egg_info
    command_desc='python setup.py Egg_info')
  File "D:\Anaconda\lib\site-packages\pip-1.5.4-py2.7.Egg\pip\util.py", line 697, in call_subprocess
    % (command_desc, proc.returncode, cwd))
InstallationError: Command python setup.py Egg_info failed with error code 1 in c:\users\paco\appdata\local\temp\pip_build_Paco\cryptography

他のEgg_infoエラー投稿( here および here )を見つけましたが、そこに提供されている解決策は私の問題を解決しないでしょう。また、私はPIPを通して他のパッケージをインストールすることができます。

PIPバージョン1.5.4 setuptoolsバージョン2.2

240
laven

私は同様の問題を抱えていて、私は依存関係を失っていたことがわかりました(私にとってはlibssl-dev)。 https://cryptography.io/en/latest/installation/ で参照されているように、すべての依存関係が満たされていることを確認してください。

Windowsの場合

Windowsを使用している場合は、OpenSSLがインストールされていることを確認する必要があります。コンパイル済みのバイナリがあります。ご使用のシステムが異常な場所にある場合は、LIBおよびINCLUDE環境変数を対応する場所を含むように設定してください。例えば:

C:\> \path\to\vcvarsall.bat x86_AMD64
C:\> set LIB=C:\OpenSSL-1.0.1f-64bit\lib;%LIB%
C:\> set INCLUDE=C:\OpenSSL-1.0.1f-64bit\include;%INCLUDE%
C:\> pip install cryptography

Linuxでの暗号化の構築

cコンパイラ、Python用のヘッダ(pypyを使用していない場合)、およびシステムにOpenSSLおよびlibffiライブラリ用のヘッダがあれば、暗号化はLinux上で非常に簡単に構築できます。

DebianおよびUbuntu の場合、次のコマンドを実行すると、必要な依存関係が確実にインストールされます。

Sudo apt-get install build-essential libssl-dev libffi-dev python-dev

FedoraおよびRHEL派生物 の場合、次のコマンドを実行すると、必要な依存関係が確実にインストールされます。

Sudo yum install gcc libffi-devel python-devel openssl-devel

これで暗号化を通常の方法で構築しインストールすることができるはずです。

pip install cryptography
403
jsonm

これは暗号化の installation docsページにある情報の要約版です。最新の詳細についてはそのページを参照してください。

このSO質問が出続けているので、私もここに返事を投げます(私はpyca /暗号開発者の一人です)。これが3つの主要プラットフォームにpyca/cryptographyを確実にインストールするために必要なものです。

これらすべての場合において、それが 強く推奨されます あなたがvirtualenvにインストールし、グローバルパッケージスペースにはインストールしないことに注意してください。これは暗号化に固有のものではなく、Pythonのインストールを信頼できるものにするための一般的なアドバイスです。 Pythonsが提供するOSのグローバルパッケージスペースはシステムによって所有されており、そこにpipを使ってインストールすることはトラブルを求めています。

ウィンドウズ

最新のpip(2016年6月の時点で8.1.2)にアップグレードしてください。ちょうどpip install cryptography

暗号化とcffiはどちらも静的にリンクされたホイールとして出荷されます。

OS X

最新のpip(2016年6月の時点で8.1.2)にアップグレードしてください。ちょうどpip install cryptography

暗号化とcffiはどちらも静的にリンクされたホイールとして出荷されます。これはpyenv Python、システムPython、自作Pythonなどで動作します。最新のピップであれば、コンパイラさえ必要ありません。

Linux

バージョン2.0の暗号化はmanylinux1ホイールを出荷しています。これは、glibcベースのディストリビューション(Alpine Linuxを除くほとんどすべて)およびx86/x86-64(Raspberry Piの人はごめんなさい)でpip 8.1+を実行しているユーザーは、プリコンパイル済みホイールを自動的に取得するため、コンパイラーやヘッダーが不要になる。だから、あなたが試すべき最初のことはあなたのピップをアップグレードすることです!

もしあなたがmanylinux1と互換性がないなら、ここであなたがする必要があるものがあります:

Cコンパイラ、libffi +その開発ヘッダー、そしてopenssl +その開発ヘッダーが必要です。

DebianまたはUbuntu由来のディストリビューション

apt-get install build-essential libssl-dev libffi-dev python-devの後に

pip install cryptography

Red Hat派生ディストリビューション

yum install gcc openssl-devel libffi-devel python-develの後に

pip install cryptography

100
Paul Kehrer

OS Xを実行している人のために、これが私のために働いたものです:

brew install openssl
env ARCHFLAGS="-Arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include"
pip install cryptography

(ランニング10.9マーベリックス)

下記のコメントに従って、flagsとpipコマンドを以下のようにマージしてみてください。

brew install openssl
env ARCHFLAGS="-Arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
40
Nick Woodhams

これで問題は解決しました(Ubuntu 16.04)。

Sudo apt-get install build-essential libssl-dev libffi-dev python-dev python3-dev

それからそれはこのように働いていました:

pip install cryptography
pip install pyopenssl ndg-httpsclient pyasn1
22
alneven

これはEl Capitanで私のために働きました

brew install pkg-config libffi openssl
env LDFLAGS="-L$(brew --prefix openssl)/lib" CFLAGS="-I$(brew --prefix openssl)/include" pip install cryptography

また、ここでスレッドを確認することができます: https://github.com/pyca/cryptography/issues/2350

22

暗号化のためのビルドディレクトリのクリーニングに失敗しました
(私はこのエラーの結果としてGoogleからここに来ました。)

note :virtualenvを使う

TL; DR:

私のファイル/etc/apt/sources.listは私のdebian 8用に正しく設定されていません。

説明:

私はparamikoをインストールしたかったです。 paramikoは暗号化を必要としています。

私はこれらのエラーを得ました:最初にpip install cryptographyで:

(...)
  ----------------------------------------
  Failed cleaning build dir for cryptography
Failed to build cryptography
(...)
    ----------------------------------------
Command "/home/myuser/pyenvs/testo/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-HXWKAO/cryptography/setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-WjqY6V-record/install-record.txt --single-version-externally-managed --compile --install-headers /home/myuser/pyenvs/testo/include/site/python2.7/cryptography" failed with error code 1 in /tmp/pip-build-HXWKAO/cryptography/

そしてSudo apt-get install build-essentialで:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
 build-essential : Depends: libc6-dev but it is not going to be installed > or
                            libc-dev
                   Depends: gcc (>= 4:4.4.3) but it is not going to be installed
                   Depends: g++ (>= 4:4.4.3) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

(OPとまったく同じエラーではありませんが、やがてを助けるためにここにいます)

解決:

すべての投稿からのほぼすべてのコマンドをテストした後、私は続けて行きます
https://wiki.debian.org/SourcesList
そしてコピーして私の適切な設定を/etc/apt/sources.listファイルに貼り付けました

その後:

Sudo aptitude update

その後

Sudo apt-get install build-essential libssl-dev libffi-dev python-dev

その後

pip install cryptography

hth

14
Boop

最近のバージョンのOSXでは、これはAppleが暗号化ライブラリでは動作しない独自バージョンのOpenSSLを出荷していることが原因である可能性があります。

最近のバージョンの暗号化ライブラリには独自のネイティブ依存関係が同梱されていますが、それらを入手するにはpipをアップグレードする必要があり、場合によっては仮想環境もアップグレードする必要があります。だから私にとって、解決策は以下のとおりです。

pip install --upgrade --force-reinstall pip virtualenv
14
Cam Jackson

これは私のために働きました(私はUbuntu 14.04を使っています):

最初にlibffi-dev、libssl-dev、libpython2.7-devをインストールしてください。

Sudo apt-get install libffi-dev libssl-dev libpython2.7-dev

それからvirtualenvの中で:

pip install cryptography
pip install pyopenssl ndg-httpsclient pyasn1

出典:

https://stackoverflow.com/a/32800685/5123544

https://stackoverflow.com/a/29202163/5123544

10
akashbw

私は上記の多くの解決策を試しましたが、次のlibをインストールした後に初めてcryptographyをインストールすることができました。

Sudo apt install libssl1.0

Ubuntu 18.04を使っています

7
Daniil Mashkin

Nick Woodhamの答えは私にとってOSX 10.11 El Capitanではうまくいきませんでしたが、これはうまくいきました。

brew install openssl
CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography==0.8
7
ouroboros

私はUbuntu 16.04にcryptography==1.7.1をインストールする際に問題を抱えていましたが、上記の答えのどれも助けにはなりませんでした。だから、私は 互換1.8.2 に要件をアップグレードし、設定は成功しました。 top(最も支持されている)回答 に記載されているビルドエッセンシャルと他の依存関係がまだ必要であることに注意してください。

4
shad0w_wa1k3r

Python3を使用している場合は、python3-devをインストールする必要があります。これで私の問題Sudo apt-get install python3-devが修正されました。

4
Pobe

コンパイルしようとしたときにffiが見つからなかったため、Sudo pip install cryptographyの実行に問題がありました。 (OSX - ヨセミテ)

Libffiをダウンロードしてenv varを設定することで解決しました。

$ brew install pkg-config libffi
$ export PKG_CONFIG_PATH=/usr/local/Cellar/libffi/3.0.13/lib/pkgconfig/
$ pip install cryptography
3
ThinkBonobo

これはMacPortsとEl Capitanで動作します。

$ Sudo port install openssl
$ env LDFLAGS="-L/opt/local/lib" CFLAGS="-I/opt/local/include" pip install cryptography
3

私はオリジナルのポスターが明らかにWindowsインストールを使用していたことに気付きました...そして上記の最良の答えは他のOSのためのすべてです...だからここに行きます。これはPython 2.7がインストールされていることを前提としています。Python2.7は最も古いバージョンですがサポートされています。

  1. " Python用Visual C++コンパイラ "をインストールしてください。
  2. 管理コマンドのプロンプトウィンドウを開く
  3. Pip install(package)を再実行してください。

    cd C:\Python27\Scripts
    pip install cryptography  (or pycrypto, fabric, etc)
    

私は実際に最初にインストールされている暗号化に依存しているScrapyをインストールしようとしているこの同じ問題に遭遇した。私はPython 2.7 64-bitがインストールされたWin764-bitを使っています。 @ jsonmの答えは結局私にはうまくいきましたが、最初にC:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_AMD64.batをそのbin dir内のx86_AMD64サブディレクトリにコピーしなければなりませんでした。そうすればvcvarsall.batはそれが設定を見逃していたというエラーを投げません。異なるセットアップ用にenv varsを設定する必要がある場合は、対応するsubdirに対応するvcvars batファイルにコピーするようにしてください。そうしないと、以下の最初のコマンドが機能しない場合があります。

それから私は@ jsonmの指示に従ってコマンドラインから以下を実行しました(私の設定のために微調整)...

C:\> "C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\vcvarsall.bat" x86_AMD64 
C:\> set LIB=C:\OpenSSL-Win64\lib;%LIB% 
C:\> set INCLUDE=C:\OpenSSL-Win64\include;%INCLUDE% 
C:\> pip install cryptography

そしてそれはうまくいった。

1
minorgod

私は最近同様の問題に遭遇しました。私の場合、Requirements.txtに書かれているcfficryptographyのバージョンは互換性がありませんでした(cffi == 1.8.9と暗号化== 1.9)。私は最後の利用可能なバージョンでcffiを更新することを解決しました。

1
Griffosx

私はpypiからparamikoフルソースコードをダウンロードしました

python setup.pyインストール

それは完璧に働いた

デフォルトのpythondev/openssl/libffiパッケージはすべてrhelにすでに存在しています。

rpmをダウンロードするとrpmの不一致とより多くの問題がある

1
RICHA AGGARWAL

私もこのエラーがありました。 openSSLをインストールした後もこのエラーが発生し続けた後、私は結局 https://pypi.python.org/pypi/cryptography/0.2.2#downloads からwheelファイルからインストールしようとしました。出来た!

1
user3357177

これら二つのコマンドは私のためにそれを修正しました:

brew install openssl
brew link openssl --force

ソース: https://github.com/phusion/passenger/issues/1630#issuecomment-147527656

0
Tobias Lorenz

暗号1.9から2.4.2にアップグレードすることでこれを解決しました

0

私は同じ問題を抱えています:

pip install cryptography

.
.
.
Installing collected packages: cffi, cryptography
     Running setup.py install for cffi ... error

それから私はlibffi-develをインストールすれば問題は解決します

yum install libffi-devel
0
Pradip Das