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


256

Python の暗号化パッケージをインストールするか、サイトpip install cryptographyからパッケージをダウンロードして実行すると、次のエラーが発生します。python setup.py


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


すべての人のためのポインター-暗号化は、ほとんどのOSにプリビルドホイールを同梱するようになりましたpip install
Legorooj

回答:


427

私にも同様の問題があり、依存関係(私にとっては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

1
ありがとう、完璧に働きました!VS2010の場合、次のことを行う必要がありました。SETVS90COMNTOOLS =%VS100COMNTOOLS%および「mt」サフィックスをlib名に追加
Maciek

//、これがPython 3.3を搭載したCEntOS 6.3マシンで機能し、元の質問に投稿されたものと同様のエラーが発生したことを確認できます。
Nathan Basanese

4
libffi-devパッケージがまったく重要だと思われます。これ以上設定する必要はありませんでしたが、そのパッケージ名はエラーログに表示されませんでした:-/ありがとうございます。
m3nda

6
python3を使用python-devしてpython3-devいる場合は、と置き換えることを忘れないでください
duan

1
FWIW私はDebian 9を実行していて、pipインストール暗号化中にエラーが発生するのをやめる前に、apt-get install libssl1.0-devを実行する必要がありました
Mike Pennington

113

これは、暗号化のインストールにある情報の要約版です。ドキュメントページ。最新の詳細については、そのページを参照してください。

このSOの質問が次々と出てくるので、私もここに回答をドロップします(私はpyca / cryptography開発者の1人です)。これは、3つの主要なプラットフォームにpyca / cryptographyを確実にインストールするために必要なものです。

これらすべてのケースで、グローバルパッケージスペースではなくvirtualenvにインストールすることを強くお勧めします。これは暗号化に固有のものではなく、Pythonインストールの信頼性を維持するための一般的なアドバイスです。OSが提供するPythonのグローバルパッケージスペースはシステムによって所有されており、pipを介してシステムにインストールすると問題が発生します。

ウィンドウズ

最新のピップ(2016年6月の時点で8.1.2)にアップグレードして、 pip install cryptography

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

OS X

最新のピップ(2016年6月の時点で8.1.2)にアップグレードして、 pip install cryptography

暗号化とcffiはどちらも静的にリンクされたホイールとして出荷されます。これはpyenv Python、システムPython、自作Pythonなどで機能します。最新のPIPを使用している限り、コンパイラは必要ありません。

Linux

バージョン2.0以降、暗号化には多くのlinux1ホイールが同梱されています。これは、glibcベースのディストリビューション(Alpine Linuxを除くほぼすべて)とx86 / x86-64(Raspberry Piのユーザーはごめんなさい)で実行されているpip 8.1+を使用しているユーザーは、コンパイラーやヘッダーが不要になるため、プリコンパイルされたホイールが自動的に取得されるためです。 。したがって、最初に試すべきことは、pipをアップグレードすることです。

Linux1との互換性があまりない場合は、次のことを行う必要があります。

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


1
私はこれを実行しましたが、それでもこのエラーが発生します。「暗号化の構築ホイールが失敗しました」大量の出力が続きます(コメントには多すぎます)。
RolandiXor 2016年

4
MacOSX応答はMacOS Sierra 10.12の魅力のように機能しました。この時点で、pipを最新バージョン9.0.1にアップグレードしました。
ジョアン・サントス

3
最新のpip(2016年6月の時点で8.1.2)にアップグレードすると、pip install暗号化が機能します。
ティモシーダルトン

pip古いものを手動で更新する必要があり、OSXソリューションは魅力的なように機能します。(pip 9.0.1MacOS Sierra
ベンジャミンズ2017

1
私のwindows10では動作しません、ビルドエラーが発生してインクルードファイルを開くことができません: 'openssl / opensslv.h'
Karlsson

43

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 Mavericksを実行)

以下のコメントに従って、フラグと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

1
CFLAGS="-I/usr/include" pip install cryptographyリーパーハルク から私のためにマーベリックスで働いた。
jjr4826

回答のこのコマンドは正しくありません。2行目と3行目をマージする必要があります(バックスラッシュを使用)。その後、El Capitanでテストしただけで完全に機能します。上記のこのコメントも正しくありません。回答の他の設定が必要です。そうしないと、後で苦情が出ます。
Christian Tismer 2016年

1
いつものように@nathancahill HEHE
Nick Woodhams

1
私はexportnot を使用しenvなければなりませんでしたが、それ以外は機能します。
リチャード

$ ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography上の私のために働いたmacOS 10.12Python3.7(virtualenvの中で)必要時にcryptographyインストールするためにansible
jalanb 2018年

23

これはエルキャピタンで私のために働いた

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


これは、Mojave 10.14.5で私のために機能した、このページ(およびその他多数)の最初のものです。また、環境変数は、他の場所のようにセッションではなく、コマンドに対してのみアクティブです。
Chris、

23

これは私にとって問題を解決しました(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

14

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

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

pip install --upgrade --force-reinstall pip virtualenv

virtualenv再インストールは私のためにそれを行いました、それは失敗し続けた古いバージョンのpipを使用していました、ありがとう!
Adri Van Houdt 2016年

それでも私には失敗します。OSX 10.11.3 El Capitanはこちら。
agondiken

14

「暗号化のビルドディレクトリのクリーニングに失敗しました」の解決方法
(このエラーの結果、Googleからここに来ました)

注意: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


ubuntu 16.04サーバーで私の問題を解決しました。ありがとう
Altaf Hussain

14

私は上記の多くの解決策を試しましたが、次のlibのインストール後にのみ、インストールできましたcryptography

sudo apt install libssl1.0

Ubuntu 18.04を使用していますが、Ubuntu 18.10でも動作します。


1
このコードは質問に答えることがありますが、問題を解決する方法や理由に関する追加のコンテキストを提供すると、回答の長期的な価値が向上します。
Nic3500

1
これでうまくいきました。なぜ機能したのですか?libssl1.0-devとlibssl-devをインストールするそのパッケージの違いは何ですか?
Chris

2
理由は
わかり

私も働いた。インストールが成功したことを発表した後も、pipはセグメンテーションエラーを受け取りますが、これは単なるpipの問題だと思います。
Rob Mosher


7

Nick Woodhamの回答はOSX 10.11 El Capitanでは機能しませんでしたが、機能しました。

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

これは私にとって最も効果的な作業でしたが、失敗しました。ElCapitan OSX 10.11.3はこちらです。/ private / var / folders / d9 / 75cfznt17cjc124j3stq3qc40000gn / T / pip-build-Q_JjdE / cryptography /
agondiken

私は使用CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptographyしなければならず、それをインストールしました。LDFLAGS="-L/usr/local/opt/openssl/lib"ライブラリをロードするためにも追加する必要がありました。ディーン・クリスチャン・アルマダのコメントは同じことをしているようですが、ハードコーディングの代わりに醸造された変数を使用しています。
2016年

4

python3を使用している場合は、をインストールする必要がありますpython3-dev。これで問題が解決しましたsudo apt-get install python3-dev



3

sudo pip install cryptographyコンパイルしようとするとffiが見つからないため、実行中に問題が発生しました。(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

cffiのインストールに失敗したため、bcryptのインストールに問題がありましたが、cffiとbcryptの両方で修正されました。ありがとうございました!
radiantradon

これはEl Capitanでは機能しませんでした。また、「pip install cryptography」の最後のストレイ期間にも注意してください。
シャッカー、2015年

@shacker el capitanを持っていないのでテストできませんが、迷子期間を削除しました。
ThinkBonobo、2015年

@shacker El Capitanのインストールについては私の回答を確認してください
Dean Christian Armada

3

これはMacPortsを搭載したEl Capitanで動作します:

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

3

AWS EC2マシンにデプロイされたgitlabランナーを使用するGitLab CIの .gitlab-ci.ymlファイルでPythonパッケージディストリビューションを構築している場合

 - apk add --update alpine-sdk && \
 - apk add libffi-dev openssl-dev && \
 - apk --no-cache --update add build-base

1
乾杯、アルパインベースのドッカーコンテナで素晴らしい仕事をしました!
アレックス・サボー

2

元のポスターが明らかにWindowsインストールを使用していることに気付きました...上記の最良の答えはすべて他のOSのためのものです... これは、最も広くサポートされている(古いものの)バージョンであるPython 2.7がインストールされていることを前提としています。

  1. " Visual C ++ Compiler for Pythonをインストールします。
  2. 管理コマンドプロンプトウィンドウを開く
  3. たとえば、pip install(パッケージ)を再実行します。

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

2

最近、同様の問題が発生しました。私の場合、requirements.txtのバージョンcfficryptography書き込まれたバージョンには互換性がありませんでした(cffi == 1.8.9およびcryptography == 1.9)。cffi利用可能な最新のバージョンで更新を解決しました。


1

私は実際に、最初にインストールされている暗号に依存するScrapyをインストールしようとするこの同じ問題に遭遇しました。Python 2.7 64ビットがインストールされたWin764ビットを使用しています。@jsonmの答えは最終的に私のために機能しましたが、最初にそのビンディレクトリ内C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.batx86_amd64サブディレクトリにコピーする必要があったので、vcvarsall.bat必要があったので、設定がないことを示すエラーがスローされなくなりました。別のセットアップで環境変数を構成する必要がある場合は、対応する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

私はpypiからparamikoの完全なソースコードをダウンロードして実行しました

python setup.py install

それは完璧に働いた

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

rpmをダウンロードすると、rpmの不一致が発生し、トラブルが増える


0

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

pip install cryptography

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

次に、libffi-develをインストールして問題を解決します

yum install libffi-devel

0

これらの2つのコマンドで修正されました。

brew install openssl
brew link openssl --force

出典:https : //github.com/phusion/passenger/issues/1630#issuecomment-147527656


1
brew link openssl --forceOS Xでは実行しないことを強くお勧めします。代わりに、pipを最新バージョンにアップグレードするだけで、cffiと暗号化の両方に静的にリンクされたホイールが問題なくインストールされます。
Paul Kehrer

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.