Czytałem wszystkie inne źródła Google i wątek SO, ale nic nie działało.
Python 2.7.3 32bit
zainstalowany na Windows 7 64bit
. Pobierz, wyodrębnij, a następnie spróbuj zainstalować PyCrypto w wyniku"Unable to find vcvarsall.bat".
Więc instaluję MinGW i dołączam to do linii instalacyjnej jako wybrany kompilator. Ale wtedy pojawia się błąd"RuntimeError: chmod error".
Jak na świecie mam to obejść? Próbowałem użyć pip, co daje ten sam wynik. Znalazłem wstępnie skompilowany plik binarny PyCrypto 2.3 i zainstalowałem go, ale nigdzie nie można go znaleźć w systemie (nie działa).
Jakieś pomysły?
python
windows
python-2.7
pycrypto
Coldblackice
źródło
źródło
Odpowiedzi:
Jeśli nie masz jeszcze zainstalowanego środowiska programistycznego C / C ++, które jest zgodne z plikami binarnymi programu Visual Studio dystrybuowanymi przez Python.org, powinieneś trzymać się tylko pakietów lub pakietów czystego języka Python, dla których dostępny jest plik binarny systemu Windows.
Na szczęście istnieją pliki binarne PyCrypto dostępne dla systemu Windows: http://www.voidspace.org.uk/python/modules.shtml#pycrypto
AKTUALIZACJA:
Jak sugeruje @Udi w komentarzu poniżej, następująca komenda również instaluje się
pycrypto
i może być również używana wvirtualenv
:Uwaga, aby wybrać z tej listy odpowiedni link do konfiguracji
Jeśli szukasz kompilacji dla Pythona 3.5, zobacz PyCrypto w Pythonie 3.5
źródło
easy_install http://www.voidspace.org.uk/downloads/pycrypto26/pycrypto-2.6.win32-py2.7.exe
easy_install
zainstaluje pakiet w virtualenv (jeśli taki masz) i powstrzyma wszelkie interakcje graficzne (aby zautomatyzować lub po prostu zaoszczędzić czas).Firma Microsoft niedawno wydała samodzielny, dedykowany kompilator Microsoft Visual C ++ dla języka Python 2.7 . Jeśli używasz Pythona 2.7, po prostu zainstaluj ten kompilator i Setuptools 6.0 lub nowszy, a większość pakietów z rozszerzeniami C będzie się teraz łatwo kompilować.
źródło
Po latach Python w końcu zgodził się na binarną dysrybucję o nazwie,
wheel
która pozwala zainstalować nawet binarne rozszerzenia w systemie Windows bez konieczności posiadania kompilatora z prostympip install packagename
. Istnieje lista popularnych pakietów wraz z ich statusem. Pycrypto jeszcze nie istnieje, ale na przykład lxml, PySide i Scrapy.Edytowane listopad 2015 :
pip uninstall pycrypto
&pip install pycryptodome
. Jest topycrypto
widelec z nowymi funkcjami, wspierający koło. Zastępujepycrypto
, więc istniejący kod będzie nadal działał (patrz https://pycryptodome.readthedocs.org/en/latest/src/examples.html )źródło
Dla VS2010:
Dla VS2012:
Wtedy zadzwoń:
źródło
Ogólnie
vcvarsall.bat
jest częścią kompilatora Visual C ++, potrzebujesz go do zainstalowania tego, co próbujesz zainstalować. Nawet nie próbuj radzić sobie z MingGW, jeśli twój Python został skompilowany z łańcuchem narzędzi programu Visual Studio i odwrotnie. Ważna jest nawet wersja łańcucha narzędzi Microsoft. Python skompilowany w VS 2008 nie będzie działał z rozszerzeniami skompilowanymi w VS 2010!Musisz skompilować PyCrypto za pomocą tego samego kompilatora, z którym została skompilowana wersja Pythona. Google z komunikatem „Nie można znaleźć pliku vcvarsall.bat”, ponieważ to jest przyczyna Twojego problemu, jest to bardzo częsty problem podczas kompilowania rozszerzeń Pythona w systemie Windows.
Jest wiele informacji i wiele do przeczytania, aby to naprawić w dowolnym systemie, w którym się znajdujesz.
Uważaj na program Visual Studio 2010 lub nie korzystaj z Visual Studio 2008
O ile wiem, poniższe stwierdzenia są nadal prawdziwe. Zostało to opublikowane w powyższym linku w czerwcu 2010 r., Odnosząc się do próby zbudowania rozszerzeń za pomocą VS 2010 Express dla instalatorów Pythona dostępnych na python.org.
Opinia: jest to jeden z powodów, dla których porzuciłem Windowsa, aby wykonać wszystkie poważne prace programistyczne dla OSX!
źródło
PyCryptodome to prawie kompatybilny fork PyCrypto z kołami Windows dostępnymi na pypi .
Możesz go zainstalować za pomocą prostego:
Witryna zawiera instrukcje tworzenia go ze źródeł za pomocą kompilatorów firmy Microsoft.
źródło
Udało mi
pycrypto
się skompilować za pomocąMinGW32
iMSYS
. Zakłada się, że maszpip
lubeasy_install
zainstalowałeś.Oto jak to zrobiłem:
1) Zainstaluj MinGW32 . Na potrzeby tego wyjaśnienia załóżmy, że jest zainstalowany w
C:\MinGW
. Korzystając z instalatora, który polecam, wybierz kompilator C ++, z którym.
MSYS powinien zainstalowaćMinGW
2) Dodaj
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
do swojego%PATH%
. Jeśli nie znasz, ten artykuł jest bardzo pomocny.3) Z paska wyszukiwania uruchom,
msys
a terminal MSYS otworzy się. Dla tych, którzy są zaznajomieniCygwin
, działa to w podobny sposób.4) Z poziomu terminala MSYS
pip install pycrypto
powinien działać bez błędów po tym.źródło
W systemie Windows 7:
Aby zainstalować Pycrypto w systemie Windows,
Spróbuj tego w wierszu polecenia,
Ustaw ścieżkę = C: \ Python27 \ Scripts (tj. Ścieżkę, w której znajduje się easy_install)
Następnie wykonaj następujące czynności,
easy_install pycrypto
W przypadku Ubuntu:
Spróbuj tego,
Pobierz Pycrypto z „ https://pypi.python.org/pypi/pycrypto ”
Następnie zmień bieżącą ścieżkę na ścieżkę pobierania za pomocą terminala, a użytkownik powinien być rootem:
Np .: root @ xyz-virtual-machine: ~ / pycrypto-2.6.1 #
Następnie wykonaj następujące czynności za pomocą terminala:
python setup.py install
U mnie to zadziałało. Nadzieja działa dla wszystkich ...
źródło
Dla tych z Was, którzy szukają Pythona 3.4, znalazłem repozytorium git z instalatorem, który po prostu działa. Oto bezpośrednie linki do x64 i x32
źródło
Możliwe jest zbudowanie PyCrypto przy użyciu zestawów narzędzi Windows 7 SDK. Istnieją dwie wersje zestawu Windows 7 SDK. Oryginalna wersja (dla .Net 3.5) zawiera kompilatory wiersza polecenia VS 2008. Można zainstalować kompilatory 32- i 64-bitowe.
Pierwszym krokiem jest skompilowanie mpir w celu zapewnienia szybkiej arytmetyki. Udokumentowałem proces, którego używam w bibliotece gmpy . Szczegółowe instrukcje dotyczące budowania mpir przy użyciu kompilatora SDK można znaleźć pod adresem sdk_build
Kluczowe kroki do użycia kompilatorów SDK z wiersza poleceń DOS to:
1) Uruchom odpowiednio plik vcvars32.bat lub vcvars64.bat.
2) Po wyświetleniu monitu wykonaj polecenie „set MSSdk = 1”
3) Po wyświetleniu monitu wykonaj polecenie „set DISTUTILS_USE_SDK = 1”
Powinno to umożliwić pomyślne zainstalowanie pliku „python setup.py install” przy założeniu, że nie ma innych problemów z kodem C. Ale niewyraźnie pamiętam, że musiałem edytować kilka plików PyCrypto, aby włączyć mpir i znaleźć biblioteki mpir, ale w tej chwili nie mam uruchomionego systemu Windows. Minie kilka dni, zanim będę miał czas na odtworzenie kroków. Jeśli do tego czasu nie zgłosisz sukcesu, opublikuję kroki PyCrypto. Te kroki zakładają, że udało Ci się skompilować mpir.
Mam nadzieję, że to pomoże.
źródło
Spróbuj po prostu użyć:
lub:
Źródło: https://pypi.python.org/pypi/pycryptodome
źródło
Ten błąd
"RuntimeError: chmod error"
występuje, ponieważ skrypt instalacyjny nie znalazłchmod
polecenia.Rozwiązanie
Wystarczy dodać pliki binarne MSYS do PATH i ponownie uruchomić skrypt instalacyjny .
(Uwaga: należy pamiętać, że MinGW jest dostarczane z MSYS, więc)
Przykład
Na przykład, jeśli jesteśmy w folderze
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
Opcjonalnie: może być konieczne wyczyszczenie przed ponownym uruchomieniem skryptu:
źródło
Przejdź do „ Microsoft Visual C ++ Compiler for Python 2.7 ” i kontynuuj w oparciu o „Wymagania systemowe” (tak właśnie zrobiłem, aby połączyć poniższe kroki).
Zainstaluj setuptools (aby Python mógł automatycznie wykryć ten pakiet kompilatora, wymagany jest setuptools 6.0 lub nowszy) :
pip install setuptools
lub pobierz źródło „Setuptools bootstrapping installer” z , zapisz ten plik gdzieś w systemie plików jako „ez_python.py” i zainstaluj za pomocą:python ez_python.py
Zainstaluj koło (koło jest zalecane do tworzenia gotowych pakietów binarnych). Możesz go zainstalować za pomocą:
pip install wheel
Otwórz wiersz polecenia z podwyższonym poziomem uprawnień cmd.exe (z opcją „Uruchom jako administrator”), aby zainstalować „Kompilator Microsoft Visual C ++ dla języka Python 2.7” dla wszystkich użytkowników. Możesz to zrobić za pomocą następującego polecenia: msiexec / i
C:\users\jozko\download\VCForPython27.msi ALLUSERS=1
po prostu użyj własnej ścieżki do pliku:msiexec /i <path to MSI> ALLUSERS=1
Teraz powinieneś być w stanie zainstalować pycrypto za pomocą:
pip install pycrypto
źródło
Jeśli jesteś w systemie Windows i masz problem z instalacją Pycrypcto, po prostu użyj: pip install pycryptodome. Działa jak cud i znacznie ułatwi Ci życie niż próba wielu konfiguracji i poprawek.
źródło
Prawdopodobnie nie jest to optymalne rozwiązanie, ale możesz pobrać i zainstalować bezpłatny pakiet Visual C ++ Express z MS. To da ci kompilator C ++ potrzebny do skompilowania kodu PyCrypto.
źródło
Moja odpowiedź może nie być związana ze wspomnianym tutaj problemem, ale miałem ten sam problem z Pythonem 3.4, w którym Crypto.Cipher nie był prawidłowym importem. Więc spróbowałem zainstalować PyCrypto i wpadłem w problemy.
Po kilku badaniach, które znalazłem w 3.4, powinieneś użyć pycryptodome .
Zainstalowałem pycryptodome za pomocą pycharm i byłem dobry.
z Crypto.Cipher import AES
źródło
Musisz zainstalować pakiet msys w MinGW
i dodaj następujące wpisy do zmiennej PATH env.
C:\MinGW\bin
C:\MinGW\msys\1.0\bin
[Tutaj znajdziesz plik wykonywalny chmod]Następnie uruchom polecenie z normalnego wiersza poleceń systemu Windows.
źródło
Z dziwnych powodów prawnych pliki binarne nie są publikowane w normalny sposób. Voidspace jest zwykle najlepszym drugim źródłem. Ale od dłuższego czasu opiekun voidspace nie aktualizował się. Użyj zip z [ https://www.dropbox.com/s/n6rckn0k6u4nqke/pycrypto-2.6.1.zip?dl=0]
źródło
Krok 1: Zainstaluj program Visual C ++ 2010 Express stąd .
(Nie instaluj dodatku Service Pack 1 dla programu Microsoft Visual Studio 2010)
Krok 2: Usuń wszystkie pakiety redystrybucyjne Microsoft Visual C ++ 2010 z Panelu sterowania \ Programy i funkcje. Jeśli tego nie zrobisz, instalacja zakończy się niepowodzeniem i pojawi się niejasny błąd „Błąd krytyczny podczas instalacji”.
Krok 3: Zainstaluj wersję offline zestawu Windows SDK dla programu Visual Studio 2010 (v7.1) stąd . Jest to wymagane w przypadku rozszerzeń 64-bitowych. Windows ma wbudowane mocowanie dla ISO, takich jak Pismo.
Krok 4: Musisz zainstalować plik ISO z Pismo File Mount Audit Package. Pobierz Pismo stąd
Krok 5: Kliknij prawym przyciskiem myszy pobrany plik ISO i wybierz montowanie z Pismo. Następnie zainstaluj plik Setup \ SDKSetup.exe zamiast setup.exe.
Krok 6a: Utwórz plik vcvars64.bat w C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ bin \ amd64, zmieniając katalog na C: \ Program Files (x86) \ Microsoft Visual Studio wersja \ VC \ on wiersz polecenia. Wpisz polecenie w wierszu polecenia:
cd C:\Program Files (x86)\Microsoft Visual Studio version\VC\r
Krok 6b: Aby skonfigurować to okno wiersza polecenia dla 64-bitowych kompilacji wiersza polecenia przeznaczonych dla platform x86, w wierszu polecenia wpisz:
vcvarsall x86
Kliknij tutaj, aby uzyskać więcej opcji.Krok 7: W wierszu polecenia zainstaluj PyCrypto, wpisując:
C:\Python3X>pip install -U your_wh_file
źródło
Miałem Pycharm dla Pythona.
Iść do
pycharm -> file -> setting -> project interpreter
Kliknij +
Wyszukaj
"pycrypto"
i zainstaluj pakietUwaga: jeśli nie masz zainstalowanego „Microsoft Visual C ++ Compiler for Python 2.7”, pojawi się monit o instalację. Po zakończeniu instalacji spróbuj wykonać powyższe kroki, powinno działać poprawnie.
źródło