Saya telah membaca setiap sumber google lainnya dan utas SO, dengan tidak ada yang berfungsi.
Python 2.7.3 32bit
diinstal pada Windows 7 64bit
. Unduh, ekstrak, dan kemudian coba instal hasil PyCrypto di"Unable to find vcvarsall.bat".
Jadi saya menginstal MinGW dan menempelkannya pada baris instal sebagai kompiler pilihan. Tapi kemudian saya mendapatkan kesalahan"RuntimeError: chmod error".
Bagaimana saya bisa mengatasi ini? Saya sudah mencoba menggunakan pip, yang memberikan hasil yang sama. Saya menemukan biner PyCrypto 2.3 yang sudah dibangun dan menginstalnya, tetapi tidak ditemukan di sistem (tidak berfungsi).
Ada ide?
python
windows
python-2.7
pycrypto
Coldblackice
sumber
sumber
Jawaban:
Jika Anda belum memiliki lingkungan pengembangan C / C ++ yang diinstal yang kompatibel dengan binari Visual Studio yang didistribusikan oleh Python.org, maka Anda harus tetap memasang hanya paket Python murni atau paket yang tersedia biner Windows.
Untungnya, ada binari PyCrypto yang tersedia untuk Windows: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
UPDATE:
Seperti @Udi menyarankan dalam komentar di bawah ini, perintah berikut ini juga menginstal
pycrypto
dan dapat digunakanvirtualenv
juga:Perhatikan untuk memilih tautan yang relevan untuk pengaturan Anda dari daftar ini
Jika Anda mencari build untuk Python 3.5, lihat PyCrypto di python 3.5
sumber
easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe
easy_install
akan menginstal paket dalam virtualenv (jika Anda memilikinya), dan akan menekan semua interaksi grafis (untuk mengotomatisasi atau hanya menghemat waktu).Microsoft baru-baru ini merilis Compiler Microsoft Visual C ++ mandiri yang didedikasikan untuk Python 2.7 . Jika Anda menggunakan Python 2.7, cukup instal kompiler itu dan Setuptools 6.0 atau yang lebih baru, dan sebagian besar paket dengan ekstensi C sekarang akan dapat dikompilasi dengan mudah.
sumber
Setelah bertahun-tahun , python akhirnya setuju untuk disebut distribusi biner
wheel
yang memungkinkan untuk menginstal ekstensi biner bahkan pada Windows tanpa memiliki kompiler dengan sederhanapip install packagename
. Ada daftar paket populer dengan statusnya. Pycrypto belum ada di sana, tetapi lxml, PySide dan Scrapy misalnya.Diedit Nov 2015 :
pip uninstall pycrypto
&pip install pycryptodome
. Ini adalahpycrypto
garpu dengan fitur baru dan mendukung roda. Itu menggantikanpycrypto
, sehingga kode yang ada akan terus berfungsi (lihat https://pycryptodome.readthedocs.org/en/latest/src/examples.html )sumber
Untuk VS2010:
Untuk VS2012:
lalu Panggil:
sumber
Secara umum
vcvarsall.bat
adalah bagian dari kompiler Visual C ++, Anda memerlukannya untuk menginstal apa yang ingin Anda instal. Jangan pernah mencoba berurusan dengan MingGW jika Python Anda dikompilasi dengan Visual Studio toolchain dan sebaliknya. Bahkan versi rantai alat Microsoft adalah penting. Python dikompilasi dengan VS 2008 tidak akan berfungsi dengan ekstensi dikompilasi dengan VS 2010!Anda harus mengkompilasi PyCrypto dengan kompiler yang sama dengan versi Python dikompilasi. Google untuk "Tidak dapat menemukan vcvarsall.bat" karena itu adalah akar masalah Anda, itu adalah masalah yang sangat umum dengan mengkompilasi ekstensi Python di Windows.
Ada banyak informasi dan banyak yang harus dibaca untuk mendapatkan ini dengan benar pada sistem apa pun yang Anda gunakan dengan tautan ini.
Waspadalah menggunakan Visual Studio 2010 atau tidak menggunakan Visual Studio 2008
Sejauh yang saya tahu berikut ini masih benar. Ini diposting di tautan di atas pada Juni 2010 yang merujuk pada mencoba membangun ekstensi dengan VS 2010 Express terhadap pemasang Python yang tersedia di python.org.
Opini: Ini adalah salah satu alasan saya meninggalkan Windows untuk semua pekerjaan pengembangan serius untuk OSX!
sumber
PyCryptodome adalah garpu PyCrypto yang hampir kompatibel dengan roda Windows yang tersedia di pypi .
Anda dapat menginstalnya dengan sederhana:
Situs web ini juga memuat instruksi untuk membuatnya dari sumber dengan kompiler Microsoft juga.
sumber
Saya telah berhasil
pycrypto
mengkompilasi dengan menggunakanMinGW32
danMSYS
. Ini mengandaikan bahwa Anda memilikipip
ataueasy_install
menginstal.Begini cara saya melakukannya:
1) Instal MinGW32 . Demi penjelasan ini, mari asumsikan sudah terpasang di
C:\MinGW
. Saat menggunakan penginstal, yang saya rekomendasikan, pilih kompiler C ++ yang.
harus diinstal dengan MSYSMinGW
2) Tambahkan
c:\mingw\bin,c:\mingw\mingw32\bin,C:\MinGW\msys\1.0, c:\mingw\msys\1.0\bin and c:\mingw\msys\1.0\sbin
ke%PATH%
. Jika Anda tidak terbiasa, artikel ini ini sangat membantu.3) Dari bilah pencarian, jalankan
msys
dan terminal MSYS akan terbuka. Bagi mereka yang terbiasaCygwin
, itu bekerja dengan cara yang sama.4) Dari dalam terminal MSYS
pip install pycrypto
harus berjalan tanpa kesalahan setelah ini.sumber
Untuk Windows 7:
Untuk menginstal Pycrypto di Windows,
Coba ini di Command Prompt,
Setel path = C: \ Python27 \ Scripts (yaitu path tempat easy_install berada)
Kemudian jalankan hal berikut,
easy_install pycrypto
Untuk Ubuntu:
Coba ini,
Unduh Pycrypto dari " https://pypi.python.org/pypi/pycrypto "
Kemudian ubah jalur Anda saat ini ke jalur yang diunduh menggunakan terminal Anda dan pengguna harus root:
Contoh: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #
Kemudian jalankan hal berikut menggunakan terminal:
instal setup.py python
Ini berhasil untuk saya. Harapan bekerja untuk semua ..
sumber
Bagi Anda yang mencari python 3.4 saya menemukan repo git dengan installer yang hanya berfungsi. Berikut ini tautan langsung untuk x64 dan x32
sumber
Dimungkinkan untuk membuat PyCrypto menggunakan toolkit Windows 7 SDK. Ada dua versi Windows 7 SDK. Versi asli (untuk .Net 3.5) termasuk kompiler baris perintah VS 2008. Baik kompiler 32- dan 64-bit dapat diinstal.
Langkah pertama adalah mengkompilasi mpir untuk memberikan aritmatika cepat. Saya telah mendokumentasikan proses yang saya gunakan di perpustakaan gmpy . Petunjuk terperinci untuk membangun mpir menggunakan kompiler SDK dapat ditemukan di sdk_build
Langkah-langkah kunci untuk menggunakan kompiler SDK dari DOS prompt adalah:
1) Jalankan vcvars32.bat atau vcvars64.bat yang sesuai.
2) Saat diminta, jalankan "set MSSdk = 1"
3) Saat diminta, jalankan "set DISTUTILS_USE_SDK = 1"
Ini akan memungkinkan "python setup.py install" berhasil dengan asumsi tidak ada masalah lain dengan kode C. Tapi saya samar-samar ingat bahwa saya harus mengedit beberapa file PyCrypto untuk mengaktifkan mpir dan menemukan pustaka mpir tetapi saya tidak memiliki sistem Windows saya saat ini. Ini akan menjadi beberapa hari sebelum saya punya waktu untuk membuat ulang langkah-langkahnya. Jika Anda belum melaporkan keberhasilan pada saat itu, saya akan memposting langkah-langkah PyCrypto. Langkah-langkahnya akan menganggap Anda mampu mengompilasi mpir.
Saya harap ini membantu.
sumber
Coba gunakan saja:
atau:
Sumber: https://pypi.python.org/pypi/pycryptodome
sumber
Kesalahan ini
"RuntimeError: chmod error"
terjadi karena skrip instal tidak menemukanchmod
perintah.Larutan
Anda hanya perlu menambahkan biner MSYS ke PATH dan menjalankan kembali skrip instal .
(NB: Perhatikan bahwa MinGW hadir dengan MSYS)
Contoh
Misalnya, jika kita berada di folder
C:\<..>\pycrypto-2.6.1\dist\pycrypto-2.6.1>
C:\.....>
set PATH=C:\MinGW\msys\1.0\bin;%PATH%
C:\.....>
python setup.py install
Opsional: Anda mungkin perlu membersihkan sebelum menjalankan kembali skrip:
sumber
Pergi ke " Microsoft Visual C ++ Compiler untuk Python 2.7 " dan lanjutkan berdasarkan "Persyaratan Sistem" (inilah yang saya lakukan untuk meletakkan langkah-langkah di bawah ini bersama-sama).
Instal setuptools (setuptools 6.0 atau yang lebih baru diperlukan untuk Python untuk secara otomatis mendeteksi paket kompiler ini) baik dengan:
pip install setuptools
atau mengunduh sumber dari "Setuptools bootstrap installer" dari , simpan file ini di suatu tempat di sistem file Anda sebagai "ez_python.py" dan instal dengan:python ez_python.py
Instal wheel (roda direkomendasikan untuk memproduksi paket biner yang sudah dibangun sebelumnya). Anda dapat menginstalnya dengan:
pip install wheel
Buka Command Prompt Windows ditinggikan cmd.exe (dengan "Run as administrator") untuk menginstal "Microsoft Visual C ++ Compiler untuk Python 2.7" untuk semua pengguna. Anda dapat menggunakan perintah berikut untuk melakukannya: msiexec / saya
C:\users\jozko\download\VCForPython27.msi ALLUSERS=1
cukup menggunakan path Anda sendiri ke file:msiexec /i <path to MSI> ALLUSERS=1
Sekarang Anda harus dapat menginstal pycrypto dengan:
pip install pycrypto
sumber
Jika Anda menggunakan Windows dan berjuang untuk menginstal Pycrypcto cukup gunakan: pip install pycryptodome. Ini bekerja seperti keajaiban dan itu akan membuat hidup Anda lebih mudah daripada mencoba melakukan banyak konfigurasi dan tweak.
sumber
Ini mungkin bukan solusi optimal tetapi Anda dapat mengunduh dan menginstal paket Visual C ++ Express gratis dari MS. Ini akan memberi Anda kompiler C ++ yang Anda perlukan untuk mengkompilasi kode PyCrypto.
sumber
Jawaban saya mungkin tidak terkait dengan masalah yang disebutkan di sini, tapi saya punya masalah yang sama dengan Python 3.4 mana Crypto.Cipher bukan impor yang valid. Jadi saya mencoba menginstal PyCrypto dan mengalami masalah.
Setelah beberapa penelitian saya menemukan dengan 3.4 Anda harus menggunakan pycryptodome .
Saya menginstal pycryptodome menggunakan pycharm dan saya baik-baik saja.
dari impor Crypto.Cipher AES
sumber
Anda perlu menginstal paket msys di bawah MinGW
dan tambahkan entri berikut dalam variabel env PATH Anda.
C:\MinGW\bin
C:\MinGW\msys\1.0\bin
[Di sinilah Anda akan menemukan chmod dapat dijalankan]Kemudian jalankan perintah Anda dari prompt perintah windows normal.
sumber
Karena alasan hukum yang aneh, biner tidak dipublikasikan dengan cara biasa. Voidspace biasanya merupakan sumber kedua terbaik. Tetapi sejak beberapa waktu, pengelola voidspace tidak memperbarui. Gunakan zip dari [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0]
sumber
Langkah 1: Instal Visual C ++ 2010 Express dari sini .
(Jangan menginstal Microsoft Visual Studio 2010 Paket Layanan 1)
Langkah 2: Hapus semua paket Microsoft Visual C ++ 2010 Redistributable dari Control Panel \ Programs and Features. Jika Anda tidak melakukan itu maka instalasi akan gagal dengan kesalahan "Kesalahan fatal selama instalasi" yang tidak jelas.
Langkah 3: Instal versi offline Windows SDK untuk Visual Studio 2010 (v7.1) dari sini . Ini diperlukan untuk ekstensi 64bit. Windows memiliki pemasangan bawaan untuk ISO seperti Pismo.
Langkah 4: Anda perlu menginstal file ISO dengan Paket Audit Mount Pismo File. Unduh Pismo dari sini
Langkah 5: Klik kanan file ISO yang diunduh dan pilih mount dengan Pismo. Setelah itu, instal Setup \ SDKSetup.exe alih-alih setup.exe.
Langkah 6a: Buat file vcvars64.bat di C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64 dengan mengubah direktori ke C: \ Program Files (x86) \ Microsoft Visual Studio versi \ VC \ on command prompt. Ketik perintah pada prompt perintah:
cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r
Langkah 6b: Untuk mengkonfigurasi jendela Command Prompt ini untuk membangun baris perintah 64-bit yang menargetkan platform x86, pada prompt perintah, masukkan:
vcvarsall x86
Klik di sini untuk opsi lainnya.Langkah 7: Pada prompt perintah, instal PyCrypto dengan mengetik:
C:\Python3X>pip install -U your_wh_file
sumber
Saya punya Pycharm untuk python.
Pergi ke
pycharm -> file -> setting -> project interpreter
Klik +
Cari
"pycrypto"
dan instal paketCatatan: Jika Anda tidak menginstal "Microsoft Visual C ++ Compiler for Python 2.7" maka itu akan meminta untuk instalasi, setelah instalasi selesai coba langkah-langkah di atas itu akan berfungsi dengan baik.
sumber