Ketika saya mencoba menginstal paket Kriptografi untuk Python melalui pip install cryptography
atau dengan mengunduh paket dari situs mereka dan menjalankannya python setup.py
, saya mendapatkan kesalahan berikut:
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
Saya menemukan posting kesalahan egg_info lainnya (di sini dan di sini ) tetapi solusi yang disediakan tidak akan menyelesaikan masalah saya. Saya juga dapat menginstal paket lain melalui PIP.
PIP versi 1.5.4 setuptools versi 2.2
python
cryptography
pip
ragi
sumber
sumber
pip install
cryptography` seharusnya bekerja di luar kotak.Jawaban:
Saya memiliki masalah yang sama, dan menemukan saya hanya kehilangan ketergantungan (libssl-dev, untuk saya). Sebagaimana dirujuk dalam https://cryptography.io/en/latest/installation/ , pastikan semua dependensi terpenuhi:
Di Windows
Jika Anda menggunakan Windows, Anda harus memastikan bahwa Anda telah menginstal OpenSSL. Ada binari yang telah dikompilasi sebelumnya. Jika instalasi Anda di lokasi yang tidak biasa atur variabel lingkungan LIB dan TERMASUK untuk memasukkan lokasi yang sesuai. Sebagai contoh:
Membangun kriptografi di Linux
kriptografi harus dibangun dengan sangat mudah di Linux asalkan Anda memiliki kompiler C, tajuk untuk Python (jika Anda tidak menggunakan pypy), dan tajuk untuk pustaka OpenSSL dan libffi yang tersedia di sistem Anda.
Untuk Debian dan Ubuntu , perintah berikut akan memastikan bahwa dependensi yang diperlukan diinstal:
Untuk Fedora dan derivatif RHEL , perintah berikut akan memastikan bahwa dependensi yang diperlukan diinstal:
Anda sekarang seharusnya dapat membangun dan menginstal kriptografi dengan yang biasa.
sumber
libffi-dev
paket itu kuncinya sama sekali. Saya tidak perlu mengkonfigurasi apa pun lagi, tetapi nama paket itu tidak muncul di log kesalahan: - / Terima kasih.python-dev
denganpython3-dev
jika Anda menggunakan python3Ini adalah versi ringkas informasi yang ditemukan pada halaman dokumentasi instalasi kriptografi . Lihat halaman itu untuk perincian terbaru.
Karena pertanyaan SO ini terus muncul, saya akan memberikan respons di sini juga (saya adalah salah satu pengembang pyca / kriptografi). Inilah yang Anda perlukan untuk menginstal pyca / cryptography dengan andal di 3 platform utama.
Harap dicatat dalam semua kasus ini, sangat disarankan agar Anda menginstal ke virtualenv dan tidak ke dalam ruang paket global. Ini bukan khusus untuk kriptografi, tetapi lebih merupakan saran umum untuk menjaga agar instalasi Python Anda dapat diandalkan. Ruang paket global dalam OS yang disediakan Python dimiliki oleh sistem dan menginstal hal-hal melalui pip ke dalamnya meminta masalah.
Windows
Tingkatkan ke pip terbaru (8.1.2 pada Juni 2016) dan adil
pip install cryptography
kriptografi dan cffi keduanya dikirim sebagai roda yang terhubung secara statis.
OS X
Tingkatkan ke pip terbaru (8.1.2 pada Juni 2016) dan adil
pip install cryptography
kriptografi dan cffi keduanya dikirim sebagai roda yang terhubung secara statis. Ini akan berfungsi untuk pyenv Python, sistem Python, homebrew Python, dll. Selama Anda menggunakan pip terbaru, Anda bahkan tidak memerlukan kompiler.
Linux
Pada versi 2.0, kriptografi mengirimkan roda manylinux1. Ini berarti pengguna dengan pip 8.1+ berjalan pada distribusi berbasis glibc (hampir semuanya kecuali Alpine Linux) dan pada x86 / x86-64 (maaf orang Raspberry Pi) tidak lagi memerlukan kompiler atau header karena Anda akan mendapatkan roda yang dikompilasi secara otomatis . Jadi, hal pertama yang harus Anda coba adalah meningkatkan pip Anda!
Jika Anda tidak kompatibel dengan banyaklinux1 maka inilah yang perlu Anda lakukan:
Anda memerlukan kompiler C, libffi + header pengembangannya, dan openssl + header pengembangannya.
Distribusi turunan Debian atau Ubuntu
apt-get install build-essential libssl-dev libffi-dev python-dev
diikuti olehpip install cryptography
Distribusi Red Hat
yum install gcc openssl-devel libffi-devel python-devel
diikuti olehpip install cryptography
sumber
pip
yang sudah lama, maka solusi OSX bekerja seperti pesona. (pip 9.0.1
,MacOS Sierra
)Bagi Anda yang menjalankan OS X, inilah yang bekerja untuk saya:
(Menjalankan 10.9 Mavericks)
Anda mungkin juga ingin mencoba menggabungkan flag dan perintah pip ke yang berikut sesuai komentar di bawah ini:
sumber
CFLAGS="-I/usr/include" pip install cryptography
dari reaperhulk bekerja untuk saya di Mavericks.export
tidakenv
, tetapi jika tidak berfungsi.$ ARCHFLAGS="-arch x86_64" LDFLAGS="-L/usr/local/opt/openssl/lib" CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
bekerja untuk sayamacOS 10.12
denganPython3.7
(dalam virtualenv) ketika perlucryptography
untuk menginstalansible
.Ini bekerja untuk saya di El Capitan
Anda juga dapat memeriksa utas di sini: https://github.com/pyca/cryptography/issues/2350
sumber
Ini memecahkan masalah bagi saya (Ubuntu 16.04):
dan kemudian berfungsi seperti ini:
sumber
Rupanya pada versi OSX terbaru ini mungkin disebabkan oleh Apple mengirimkan versi OpenSSL mereka sendiri, yang tidak berfungsi dengan pustaka kriptografi.
Versi terbaru dari pustaka kriptografi dikirimkan dengan dependensi asli mereka sendiri, tetapi untuk mendapatkannya, Anda harus memutakhirkan pip, dan mungkin juga env virtual. Jadi bagi saya, solusinya adalah:
sumber
Bagaimana saya memecahkan "Dir build gagal gagal untuk kriptografi"
(Saya datang ke sini dari google untuk mencari kesalahan ini.)
catatan : menggunakan virtualenv
TL; DR:
file saya
/etc/apt/sources.list
tidak dikonfigurasi dengan benar untuk debian 8 saya.Penjelasan:
Saya ingin menginstal paramiko. paramiko membutuhkan kriptografi.
Saya mendapat kesalahan ini: pertama dengan
pip install cryptography
:dan kemudian dengan
sudo apt-get install build-essential
:(Tidak persis kesalahan yang sama dengan OP tapi saya di sini untuk membantu akhirnya )
Memecahkan:
Setelah menguji hampir setiap perintah dari setiap posting saya akhirnya pergi di
https://wiki.debian.org/SourcesList
dan menyalin disisipkan konfigurasi yang memadai saya di file
/etc/apt/sources.list
kemudian:
sudo aptitude update
lalu
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
lalu
pip install cryptography
hth
sumber
Saya mencoba banyak solusi di atas, tetapi hanya setelah instalasi lib berikut saya dapat menginstal
cryptography
:Saya menggunakan Ubuntu 18.04, tetapi akan bekerja pada Ubuntu 18.10 juga.
sumber
Ini bekerja untuk saya (saya menggunakan Ubuntu 14.04):
instal dulu libffi-dev libssl-dev libpython2.7-dev:
kemudian di dalam virtualenv:
Sumber:
https://stackoverflow.com/a/32800685/5123544
https://stackoverflow.com/a/29202163/5123544
sumber
Jawaban Nick Woodham tidak bekerja pada OSX 10.11 untuk saya, tetapi ini berhasil.
sumber
CFLAGS="-I/usr/local/opt/openssl/include" pip install cryptography
dan menginstalnya. Saya harus menambahkanLDFLAGS="-L/usr/local/opt/openssl/lib"
juga untuk mendapatkan perpustakaan untuk memuat. Komentar Dekan Christian Armada tampaknya melakukan hal yang sama tetapi menggunakan variabel yang dihasilkan bukan alih-alih pengkodean.Jika Anda menggunakan python3, Anda harus menginstal
python3-dev
. Ini memperbaiki masalah sayasudo apt-get install python3-dev
.sumber
Saya mengalami masalah dengan pemasangan
cryptography==1.7.1
di Ubuntu 16.04 dan tidak ada jawaban di atas yang membantu. Jadi, saya memutakhirkan persyaratan ke 1.8.2 yang kompatibel dan pengaturannya berhasil. Perhatikan bahwa Anda masih perlu membangun esensi & dependensi lain yang disebutkan dalam jawaban teratas (paling banyak dipilih) .sumber
Saya mengalami masalah saat menjalankan
sudo pip install cryptography
karena tidak menemukan ffi ketika mencoba mengompilasi. (OSX - Yosemite)Saya menyelesaikannya dengan mengunduh libffi dan mengatur env var.
sumber
Ini berfungsi pada El Capitan dengan MacPorts:
sumber
Jika Anda sedang membangun sebuah distribusi paket python di .gitlab-ci.yml file dalam untuk GitLab CI yang menggunakan pelari gitlab dikerahkan di mesin AWS EC2
sumber
Saya perhatikan poster asli jelas menggunakan instalasi windows ... dan jawaban terbaik di atas semua untuk OS lain ... jadi begini. Ini mengasumsikan Anda telah menginstal Python 2.7 yang merupakan versi yang paling banyak didukung (meskipun lama).
Jalankan kembali instalasi pip (paket) mis
sumber
Saya mengalami masalah serupa baru-baru ini. Dalam kasus saya, versi
cffi
dan yangcryptography
ditulis di requirement.txt tidak kompatibel (cffi == 1.8.9 dan kriptografi == 1.9). Saya memecahkan pembaruancffi
dengan versi terakhir yang tersedia.sumber
Saya benar-benar berlari ke prob yang sama ini mencoba menginstal Scrapy yang tergantung pada kriptografi yang diinstal terlebih dahulu. Saya menggunakan Win764-bit dengan Python 2.7 64-bit diinstal. Jawaban @ jsonm akhirnya bekerja untuk saya, tetapi pertama-tama saya harus menyalin
C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\vcvarsx86_amd64.bat
kex86_amd64
subdir dalam direktori bin jadivcvarsall.bat
akan berhenti melempar kesalahan mengatakan itu hilang konfigurasi. Jika Anda perlu mengkonfigurasi env vars untuk pengaturan yang berbeda, pastikan untuk menyalin ke file vcvars bat yang sesuai ke subdir yang sesuai atau perintah pertama di bawah ini mungkin tidak berfungsi.Kemudian saya menjalankan berikut ini dari commandline sesuai instruksi @ jsonm (tweak untuk konfigurasi saya) ...
Dan itu berhasil.
sumber
Saya memiliki kesalahan ini juga. Setelah terus mendapatkan kesalahan ini bahkan setelah menginstal openSSL, saya akhirnya mencoba menginstal dari file beroda dari https://pypi.python.org/pypi/cryptography/0.2.2##downloads . Berhasil!
sumber
saya mengunduh paramiko kode sumber lengkap dari pypi dan melakukannya
instal setup.py python
itu bekerja dengan sempurna
semua paket pythondev / openssl / libffi default sudah ada di rhel.
mengunduh rpms memiliki ketidakcocokan rpm dan lebih banyak masalah
sumber
Saya mengalami masalah yang sama:
Kemudian saya menginstal libffi-devel dan masalah terpecahkan
sumber
Kedua perintah itu memperbaikinya untuk saya:
Sumber: https://github.com/phusion/passenger/issues/1630#issuecomment-147527656
sumber
brew link openssl --force
pada OS X. Sebagai gantinya, tingkatkan saja pip Anda ke versi terbaru dan itu akan menginstal roda yang terhubung secara statis untuk cffi dan kriptografi tanpa masalah.Saya menyelesaikan ini dengan memutakhirkan dari kriptografi 1.9 ke 2.4.2
sumber