Fabric: ImportError: Tidak ada modul bernama Crypto

Dibuat pada 29 Apr 2016  ·  3Komentar  ·  Sumber: fabric/fabric

Hai, yang di sana,

Saya memiliki proyek pribadi yang bergantung pada kain. Secara khusus, kami menyematkan fabric==1.10.2 .

Hari ini, pembangunan proyek ini mulai gagal secara misterius dengan stacktrace berikut:

19:22:54.233     from fabric import api as fabric_api
19:22:54.233   File "/home/go/work/pipelines/make-ci-00/code/.venv/local/lib/python2.7/site-packages/fabric/api.py", line 11, in <module>
19:22:54.233     from fabric.decorators import (hosts, roles, runs_once, with_settings, task,
19:22:54.233   File "/home/go/work/pipelines/make-ci-00/code/.venv/local/lib/python2.7/site-packages/fabric/decorators.py", line 9, in <module>
19:22:54.233     from Crypto import Random
19:22:54.233 ImportError: No module named Crypto

Kain telah disematkan ke versi yang sama selama berminggu-minggu. Menginstal pycrypto secara manual di samping fabric menyelesaikan masalah ini.

Meskipun secara eksplisit mengimpor Crypto.Random , satu-satunya ketergantungan fabric adalah paramiko , dan pycrypto tidak dirujuk di mana pun selain dari paramiko docs.

IMO jika Anda mengimpor simbol pycrypto secara eksplisit di dalam fabric, pycrypto harus dikutip sebagai dependensi dalam setup.py .

Terima kasih!

Komentar yang paling membantu

Paramiko 2.0 baru-baru ini dirilis (dan saya pikir tergantung pada cryptography daripada pycrypto ). Setup.py versi 1.10.2 tidak membatasi versi paramiko dengan benar, tetapi versi 1.10.3 melakukannya. Mungkin memutakhirkan ke 1.10.3 akan membantu.

Sepertinya ini diubah di c7d3034b5f217f2b4e7989f2c8e9bbea335be270

Semua 3 komentar

Paramiko 2.0 baru-baru ini dirilis (dan saya pikir tergantung pada cryptography daripada pycrypto ). Setup.py versi 1.10.2 tidak membatasi versi paramiko dengan benar, tetapi versi 1.10.3 melakukannya. Mungkin memutakhirkan ke 1.10.3 akan membantu.

Sepertinya ini diubah di c7d3034b5f217f2b4e7989f2c8e9bbea335be270

Dapat mengonfirmasi bahwa menabrak 1.11.1 telah memperbaiki masalah ini. Bertanya-tanya mengapa 1.10.2 memutuskan untuk istirahat hari ini...

@jamesob apakah ini dipicu dengan menginstal ulang Fabric di lingkungan baru? Seperti yang dicatat oleh @gtback , paramiko baru-baru ini berubah dan kami mengeluarkan rilis Fab sebelumnya yang disematkan ke paramiko<2 untuk menghindari hal semacam ini. Anda tidak berada di salah satu dari mereka yang mungkin mengapa hal-hal rusak.

Yang mengatakan, saya tidak menyadari bahwa kami secara langsung mengimpor Crypto di mana saja; baru saja melihat dan ya, kami harus melakukan beberapa tweak bodoh untuk menangani kekhasan paralelisasi PyCrypto +. Itu harus berubah jika kita pernah membatalkan pin versi Paramiko (yang mungkin ingin saya lakukan kapan-kapan, setelah kita yakin paramiko 2 stabil). Jadi, terima kasih telah memunculkan ini :)

Apakah halaman ini membantu?
0 / 5 - 0 peringkat