PyCrypto na Pythonie 3.5

Znalazłem kilka instalatorów PyCrypto dla Pythona 3.3 i 3.4, ale nic dla Pythona 3.5.

Kiedy próbuję zainstalować PyCrypton używając pip install, jest napisane:

warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastmath.  

Czy Jest jakiś sposób na zainstalowanie PyCrypto w Pythonie 3.5 W Windows 10? Dzięki!

Author: gkubed, 2015-09-26

4 answers

To Ostrzeżenie nie powinno zatrzymywać kompilacji, bardziej prawdopodobne, że brakuje kompilatora Visual Studio 2015, który jest niezbędny do budowania binarnych rozszerzeń (które posiada PyCrypto). Zobacz Python Packaging User Guide dla jakiego kompilatora potrzebujesz dla swojej wersji Pythona.

Powodem, dla którego potrzebujesz kompilatora, jest to, że PyCrypto oferuje tylko oficjalną dystrybucję źródłową. Masz więc dwie opcje instalacji PyCrypto:

1. Zbuduj ze źródła:

To jest właściwie sprawiedliwe proste, ale wymaga zainstalowania dodatkowego oprogramowania. Ponownie, zapoznaj się z instrukcją obsługi pakietów Pythona podaną powyżej, aby znaleźć odpowiedni kompilator dla Twojej wersji Pythona. Myślę, że istnieje możliwość zainstalowania odpowiedniego kompilatora Pythona tylko wtedy, gdy wykonasz niestandardową instalację Visual Studio.

Następnie, po zakończeniu instalacji i prawdopodobnie trzeba było ponownie uruchomić komputer, powinieneś być w stanie po prostu uruchomić pip install pycrypto i pip pobierze źródło i skompiluje go dla ty.

Jeśli zainstalowałeś również koło (pip install wheel), to pip utworzy koło ze źródła i wywoła je w pamięci podręcznej, w ten sposób stworzyłem koła, które dzielę w opcji 2.

2. Zainstaluj dystrybucję zbudowaną od strony trzeciej

Tak się składa, że jestem 3rd party i mam wspólne koła, które skompilowałem dla PyCrypto 2.6.1 w/ Python 3.5 Dla 32 i 64-bitowych Windows na moim GitHub repo . Dołączałem instrukcje instalacji na readme tego repo.

Jeśli szukasz zbudowana Dystrybucja dla starszej wersji Pythona i / lub PyCrypto, połączyłem się również z Voidspace na readme mojego repo (przepraszam, jestem ograniczony do 2 linków tutaj).

 39
Author: sfbahr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-26 04:33:51

Użyj pycryptodome zamiast! Jest to projekt nadal utrzymywany (czerwiec 2017) i zawiera funkcje pycrypto dla Pythona 3.xx (u mnie działało na Pythonie 3.6)

Strona Projektu:

Https://www.pycryptodome.org/en/latest/index.html

 3
Author: SvennnG,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-03 19:32:54

Możesz spróbować PyCryptodome , widelca PyCrypto. Posiada koła Windows dla Pythona 3.5.

 1
Author: SquareRootOfTwentyThree,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-06 19:02:13

Użyj tego postu jako odniesienia do tej procedury w systemach Windows: http://codeyarns.com/2012/04/28/python-version-not-found-in-registry-error/

Używając tego, możemy zrobić to:

  1. w oknie dialogowym Windows uruchom Otwórz program regedit.
  2. Export from HKEY_LOCAL_MACHINE\SOFTWARE\Python (python_install_35.reg). Przejdź do tej lokalizacji i wykonaj "Eksportuj" w menu kontekstowym.
  3. Edytuj plik reg i zamień HKEY_LOCAL_MACHINE na HKEY_CURRENT_USER
  4. Uruchom monit konsoli (cmd) jako admin i wykonaj regedit python_install_35.reg
  5. Dodaj wpisy do rejestru
  6. Zobacz zmodyfikowane wpisy z regedit i zmień HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5 na HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.3.
  7. Uruchom ponownie instalator
 0
Author: andhdo,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-07-03 23:49:25