PIP ve setup.py içeren Python Şifreleme paketi yüklenemedi


256

Python için Cryptography paketini ya üzerinden ya pip install cryptographyda sitesinden indirip çalıştırarak yüklemeye çalıştığımda python setup.py, aşağıdaki hatayı alıyorum:


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

Diğer egg_info hata mesajlarını ( burada ve burada ) buldum ama sağlanan çözümler sorunumu çözmedi . Ayrıca, PIP üzerinden diğer paketleri de yükleyebiliyorum.

PIP sürüm 1.5.4 kurulum araçları sürüm 2.2


HERKES İÇİN POINTER - kriptografi artık çoğu OS için ön yapım tekerlekleri gönderiyor, bu nedenle bir pip installkriptografi ` kutunun dışında çalışmalı.
Legorooj

Yanıtlar:


427

Benzer bir sorunum vardı ve sadece bir bağımlılığı eksik buldum (benim için libssl-dev). Başvurulan gibi https://cryptography.io/en/latest/installation/ , tüm bağımlılıkları karşılanmasını sağlamak:

Windows'ta

Windows kullanıyorsanız OpenSSL'nin kurulu olduğundan emin olmanız gerekir. Önceden derlenmiş ikili dosyalar mevcuttur. Kurulumunuz olağandışı bir konumdaysa, LIB ve INCLUDE ortam değişkenlerini ilgili konumları içerecek şekilde ayarlayın. Örneğin:

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'ta şifreleme oluşturma

C derleyiciniz, Python için üstbilgiler (pypy kullanmıyorsanız) ve sisteminizde bulunan OpenSSL ve libffi kitaplıkları için üstbilgileriniz varsa, şifreleme Linux üzerinde çok kolay bir şekilde oluşturulmalıdır.

İçin Debian ve Ubuntu aşağıdaki komutu gerekli bağımlılıkları yüklü olmasını sağlayacaktır:

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

İçin Fedora ve RHEL-türevleri , aşağıdaki komutu gerekli bağımlılıkları yüklü olmasını sağlayacaktır:

sudo yum install gcc libffi-devel python-devel OpenSSL-devel

Artık her zamanki gibi bir şifreleme oluşturabilir ve kurabilirsiniz.

pip install cryptography

1
Teşekkürler, mükemmel çalıştı! VS2010 sahip zorunda kaldım: SET VS90COMNTOOLS =% VS100COMNTOOLS% ve lib adlarına "mt" soneki eklemek
Maciek

//, bunun orijinal soruya gönderilene benzer bir hata ile Python 3.3 içeren bir CEntOS 6.3 makinesinde çalıştığını doğrulayabilirim.
Nathan Basanese

4
Görünüşe göre bu libffi-devpaket hiç önemli değil. Daha fazla bir şey yapılandırmam gerekmedi, ancak bu paket adı hata günlüğünde görünmedi: - / Teşekkürler.
m3nda

6
Python3python-devpython3-dev
duan

1
FWIW Debian 9 kullanıyorum ve pip install kriptografisi sırasında hatalar almayı bırakmadan önce abs-get install libssl1.0-dev yapmak zorunda kaldım
Mike Pennington

113

Bu, kriptografinin kurulum dokümanları sayfasında bulunan bilgilerin yoğunlaştırılmış bir versiyonudur . En son ayrıntılar için bu sayfaya bakın.

Bu SO sorusu ortaya çıkmaya devam ettiğinden, burada da bir yanıt bırakacağım (pyca / kriptografi geliştiricilerinden biriyim). İşte 3 ana platforma pica / kriptografiyi güvenilir bir şekilde kurmak için ihtiyacınız olan şey.

Tüm bu durumlarda , global paket alanına değil, bir sanal ortama kurmanız önemle tavsiye edilir. Bu kriptografiye özgü değildir, daha çok Python kurulumunuzu güvenilir tutmak için genel tavsiye niteliğindedir. Pythons tarafından sağlanan işletim sistemindeki küresel paket alanı sisteme aittir ve bir şeyleri pip yoluyla yüklemek sorun yaratmaktadır.

pencereler

En son pip'e (Haziran 2016 itibariyle 8.1.2) yükseltin ve pip install cryptography

kriptografi ve cffi'nin her ikisi de statik olarak bağlı tekerlekler olarak gönderilir.

OS X

En son pip'e (Haziran 2016 itibariyle 8.1.2) yükseltin ve pip install cryptography

kriptografi ve cffi'nin her ikisi de statik olarak bağlı tekerlekler olarak gönderilir. Bu pyenv Python, sistem Python, homebrew Python, vb için çalışacaktır. En son pipte olduğunuz sürece bir derleyiciye bile ihtiyacınız olmayacaktır.

Linux

Sürüm 2.0 şifreleme manylinux1 tekerlekler gibi. Bu, pip 8.1+ sürümünün glibc tabanlı bir dağıtımda (Alpine Linux hariç hemen hemen her şey) ve x86 / x86-64'te (üzgünüm Raspberry Pi kullanıcıları) çalışan kullanıcıların derleyici veya başlıklara ihtiyaç duymadığı anlamına gelir, çünkü otomatik olarak önceden derlenmiş bir tekerlek alırsınız . Yani, denemeniz gereken ilk şey pipinizi yükseltmektir!

Manylinux1 uyumlu değilseniz, yapmanız gerekenler:

Bir C derleyicisine, libffi + geliştirme başlıklarına ve openssl + geliştirme başlıklarına ihtiyacınız olacak.

Debian veya Ubuntu kaynaklı dağıtımlar

apt-get install build-essential libssl-dev libffi-dev python-dev bunu takiben

pip install cryptography

Red Hat türevli dağılımlar

yum install gcc openssl-devel libffi-devel python-devel bunu takiben

pip install cryptography


1
Bunu yaptım, ama yine de bu hatayı alıyorum: "Kriptografi için yapı tekerleği başarısız" Sonra bir sürü çıktı (yorum için çok fazla).
RolandiXor

4
MacOSX yanıtı, MacOS Sierra 10.12'de bir cazibe gibi çalıştı. Pip'imi şu an için en son sürüme yükselttim, 9.0.1.
João Santos

3
En son pip'e (Haziran 2016'dan itibaren 8.1.2) yükseltin ve sadece pip install şifreleme işleri!
Timothy Dalton

El ile yaşlarımı güncellemek zorunda kaldım pip, sonra OSX çözümü bir cazibe gibi çalışıyor. ( pip 9.0.1, MacOS Sierra)
benjaminz

1
Windows 10'umda çalışmıyor, derleme hatası açılamıyor dahil dosyası açılamıyor: 'openssl / opensslv.h'
Totte Karlsson

43

OS X çalıştıranlarınız için işime yarayan:

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

(Koşu 10.9 Mavericks)

Ayrıca, aşağıdaki yorum başına bayrakları ve pip komutlarını aşağıdakilerle birleştirmeyi de deneyebilirsiniz:

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 cryptographyreaperhulk dan benim için Mavericks üzerinde çalıştı.
jjr4826

Yanıttaki bu komut doğru değil: ikinci ve üçüncü satır birleştirilmelidir (ters eğik çizgi kullanın). Sonra mükemmel çalışıyor, sadece El Capitan üzerinde test edildi. Yukarıdaki yorum da doğru değil. Yanıttaki diğer ayarlar gereklidir, ya da daha sonra şikayetler alırsınız.
Christian Tismer

1
Her zaman olduğu gibi @nathancahill HEHE
Nick Woodhams

1
Ben kullanmak zorunda exportdeğil env, ama başka türlü çalışır.
Richard

$ ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptographybenim için çalıştı macOS 10.12ile Python3.7(bir virtualenv) ihtiyacı olduğunda cryptographyyüklemek için ansible.
jalanb

23

Bu benim için El Capitan'da çalıştı

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

Konuyu buradan da kontrol edebilirsiniz: https://github.com/pyca/cryptography/issues/2350


Bu, Mojave 10.14.5'te benim için çalışan bu sayfadaki ilk (ve birçok, diğerleri ..), teşekkürler. Ayrıca ortam değişkenleri, başka yerde olduğu gibi oturumdan ziyade yalnızca komut için aktiftir.
Chris

23

Bu benim için sorunu çözdü (Ubuntu 16.04):

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

ve sonra böyle çalışıyordu:

pip install cryptography
pip install pyopenssl ndg-httpsclient pyasn1

14

Görünüşe göre OSX'in son sürümlerinde bunun nedeni Apple'ın şifreleme kitaplığıyla çalışmayan kendi OpenSSL sürümlerini göndermesidir.

Kriptografi kütüphanesinin son sürümleri kendi yerel bağımlılıklarıyla birlikte gönderilir, ancak bunları elde etmek için pip'i ve muhtemelen sanal env'yi yükseltmeniz gerekir. Benim için çözüm şuydu:

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

Virtualenv yeniden yükleme benim için yaptı, başarısız devam pip eski bir sürümünü kullanıyordu, teşekkür ederim!
Adri Van Houdt

Hala benim için başarısız. OSX 10.11.3 El Capitan burada.
agondiken

14

"Şifreleme için yapı oluşturma dizini temizlenemedi" nasıl çözüldü
(Bu hataya neden olmak için Google'dan buraya geldim.)

not : bir virtualenv kullanma

TL; DR:

benim dosya /etc/apt/sources.listbenim debian 8 için doğru yapılandırılmamış.

açıklamalar:

Paramiko'yu kurmak istedim. paramiko'nun kriptografiye ihtiyacı var.

Şu hataları aldım: ilk önce 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/

ve sonra 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 ile tam olarak aynı hatalar değil ama sonunda yardım için buradayım )

Çözme:

Hemen hemen her yazıdaki her komutu test ettikten sonra
https://wiki.debian.org/SourcesList'e geçiyorum
ve kopya dosyaya yeterli yapılandırmamı yapıştırdı/etc/apt/sources.list

sonra:

sudo aptitude update

ve sonra

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

ve sonra

pip install cryptography

hth


Ubuntu 16.04 sunucusundaki sorunumu çözdüm. Teşekkürler
Altaf Hussain

14

Yukarıda birçok çözüm denedim, ancak sadece aşağıdaki lib'in kurulumundan sonra yükleyebilirim cryptography:

sudo apt install libssl1.0

Ubuntu 18.04 kullanıyorum, ancak Ubuntu 18.10 üzerinde de çalışacak.


1
Bu kod soruyu cevaplayabilirken, sorunun nasıl ve / veya neden çözüldüğüne ilişkin ek bağlam sağlamak yanıtlayıcının uzun vadeli değerini artıracaktır.
Nic3500

1
Bu benim için çalıştı. Neden işe yaradı? Libssl1.0-dev ve libssl-dev kuran bu paket arasındaki fark nedir?
Chris

2
Nedenini anlamıyorum, ama sadece bu da bana yardımcı oldu
dyus

Benim için de çalıştı. Rağmen pip başarılı kurulum duyurdu sonra hala bir segmentasyon hatası alır, ama bu sadece bir pip sorunu olduğunu düşünüyorum.
Rob Mosher


7

Nick Woodham'ın cevabı benim için OSX 10.11 El Capitan'da işe yaramadı, ama bu işe yaradı.

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

Bu benim için çalışmaya en yakın oldu ama aynı zamanda başarısız oldu .. El Capitan OSX 10.11.3 burada. / private / var / folders / d9 / 75cfznt17cjc124j3stq3qc40000gn / T / pip-build-Q_JjdE / kriptografi /
agondiken'de 27:16

Kullanmak zorunda kaldım CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptographyve kurdu. LDFLAGS="-L/usr/local/opt/openssl/lib"Kütüphanenin yüklenmesini sağlamak için de eklemek zorunda kaldım . Dean Christian Armada'nın yorumu da aynı şeyi yapıyor gibi gözüküyor ama sabit kodlama yerine demlemek için üretilen değişkenleri kullanmak.
Spig

4

Python3 kullanıyorsanız, yüklemeniz gerekir python3-dev. Bu benim sorunumu çözdü sudo apt-get install python3-dev.



3

sudo pip install cryptographyDerlemeye çalışırken ffi bulamayacağından bir sorun yaşıyordum . (OSX - Yosemite)

Ben libffi indirerek ve env var kurarak çözdü.

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

Ben cffi yüklenemedi çünkü bcrypt pip yükleme sorunları yaşıyordum, ama bu hem cffi hem de bcrypt için sabit. Teşekkür ederim!
radiantradon

Bu benim için El Capitan'da işe yaramadı. Ayrıca "pip install kriptografi" nin sonundaki başıboş süreye dikkat edin.
shacker

@ shacker El capitan yok bu yüzden bunu test edemez ama başıboş nokta kaldırıldı teşekkürler.
ThinkBonobo

@shacker El Capitan kurulumu için cevap kardeşimi kontrol et
Dean Christian Armada

3

MacPorts ile El Capitan üzerinde çalışır:

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

3

Bir AWS EC2 makinesinde konuşlandırılmış bir gitlab koşucusu kullanan GitLab CI için .gitlab -ci.yml dosyasında bir python paketi dağıtımı oluşturuyorsanız

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

1
Şerefe, Alp tabanlı bir liman işçisi konteynırında harika çalıştı!
Alex Szabó

2

Orijinal posterin açıkça bir windows kurulumu kullandığını fark ettim ... ve yukarıdaki en iyi cevaplar diğer işletim sistemleri için ... işte burada. Bu, en çok desteklenen (eski olsa da) sürüm olan Python 2.7'yi yüklediğinizi varsayar.

  1. Yükle " Python için Visual C ++ Derleyici "
  2. Yönetici komut istemi penceresi açma
  3. Pip kurulumunu tekrar çalıştırın (paket) örn.

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

2

Son zamanlarda benzer bir sorunla karşılaştım. Benim durumumda cffive cryptographygereksinimleri.txt yazılmış sürümleri uyumlu değildi (cffi == 1.8.9 ve kriptografi == 1.9). Güncellemeyi cffien son sürümle çözdüm.


1

Aslında aynı probla karşılaştım ve ilk önce kriptografiye bağlı olan Scrapy'yi kurmaya çalıştım. Python 2.7 64 bit yüklü Win764-bit kullanıyorum. @ jsonm'un cevabı sonunda benim için çalıştı, ama önce o bin dir içinde alt dizine kopyalamak C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.batzorunda kaldı, x86_amd64bu yüzden vcvarsall.batyapılandırma eksik olduğunu söyleyerek bir hata atmayı durdurmak istiyorum. Env değişkenlerini farklı bir kurulum için yapılandırmanız gerekirse, karşılık gelen vcvars bat dosyasına ilgili alt dizine kopyaladığınızdan emin olun, aksi takdirde aşağıdaki ilk komut çalışmayabilir.

Sonra bir komut satırından @ @ jsonm talimatları (benim yapılandırma için tweaked) göre koştu ...

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

Ve işe yaradı.



1

pypi'den paramiko tam kaynak kodunu indirdim ve yaptım

python setup.py kurulum

kusursuz çalıştı

tüm varsayılan pythondev / openssl / libffi paketleri rhel'de zaten mevcuttur.

rpms indirme rpm uyumsuzluğu ve daha fazla sorun var


0

Aynı sorunu yaşıyorum:

pip install cryptography

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

Sonra libffi-devel kuruyorum ve problem çözüldü

yum install libffi-devel


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.