Failed installing pycrypto with pip
Question:
I encountered a problem when I try to download a certain package:
C:Python27Scripts>pip install pycrypto
Collecting pycrypto
Using cached https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz
Installing collected packages: pycrypto
Running setup.py install for pycrypto ... error
Complete output from command c:python27python.exe -u -c "import setuptools
, tokenize;__file__='c:\users\beheer~1\appdata\local\temp\pip-install-_luv
op\pycrypto\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read(
).replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" install
--record c:usersbeheer~1appdatalocaltemppip-record-jct20jinstall-record.
txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating buildlib.win32-2.7
creating buildlib.win32-2.7Crypto
copying libCryptopct_warnings.py -> buildlib.win32-2.7Crypto
copying libCrypto__init__.py -> buildlib.win32-2.7Crypto
creating buildlib.win32-2.7CryptoHash
copying libCryptoHashhashalgo.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashHMAC.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashMD2.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashMD4.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashMD5.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashRIPEMD.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA224.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA256.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA384.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA512.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHash__init__.py -> buildlib.win32-2.7CryptoHash
creating buildlib.win32-2.7CryptoCipher
copying libCryptoCipherAES.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherARC2.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherARC4.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherblockalgo.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherBlowfish.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherCAST.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherDES.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherDES3.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherPKCS1_OAEP.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherPKCS1_v1_5.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherXOR.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipher__init__.py -> buildlib.win32-2.7CryptoCipher
creating buildlib.win32-2.7CryptoUtil
copying libCryptoUtilasn1.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilCounter.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilnumber.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilpy21compat.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilpy3compat.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilrandpool.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilRFC1751.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilwinrandom.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtil_number_new.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtil__init__.py -> buildlib.win32-2.7CryptoUtil
creating buildlib.win32-2.7CryptoRandom
copying libCryptoRandomrandom.py -> buildlib.win32-2.7CryptoRandom
copying libCryptoRandom_UserFriendlyRNG.py -> buildlib.win32-2.7Crypto
Random
copying libCryptoRandom__init__.py -> buildlib.win32-2.7CryptoRandom
creating buildlib.win32-2.7CryptoRandomFortuna
copying libCryptoRandomFortunaFortunaAccumulator.py -> buildlib.win32-2
.7CryptoRandomFortuna
copying libCryptoRandomFortunaFortunaGenerator.py -> buildlib.win32-2.7
CryptoRandomFortuna
copying libCryptoRandomFortunaSHAd256.py -> buildlib.win32-2.7CryptoR
andomFortuna
copying libCryptoRandomFortuna__init__.py -> buildlib.win32-2.7Crypto
RandomFortuna
creating buildlib.win32-2.7CryptoRandomOSRNG
copying libCryptoRandomOSRNGfallback.py -> buildlib.win32-2.7CryptoRa
ndomOSRNG
copying libCryptoRandomOSRNGnt.py -> buildlib.win32-2.7CryptoRandomO
SRNG
copying libCryptoRandomOSRNGposix.py -> buildlib.win32-2.7CryptoRando
mOSRNG
copying libCryptoRandomOSRNGrng_base.py -> buildlib.win32-2.7CryptoRa
ndomOSRNG
copying libCryptoRandomOSRNG__init__.py -> buildlib.win32-2.7CryptoRa
ndomOSRNG
creating buildlib.win32-2.7CryptoSelfTest
copying libCryptoSelfTestst_common.py -> buildlib.win32-2.7CryptoSelfT
est
copying libCryptoSelfTest__init__.py -> buildlib.win32-2.7CryptoSelfTe
st
creating buildlib.win32-2.7CryptoSelfTestCipher
copying libCryptoSelfTestCiphercommon.py -> buildlib.win32-2.7CryptoS
elfTestCipher
copying libCryptoSelfTestCiphertest_AES.py -> buildlib.win32-2.7Crypto
SelfTestCipher
copying libCryptoSelfTestCiphertest_ARC2.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_ARC4.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_Blowfish.py -> buildlib.win32-2.7C
ryptoSelfTestCipher
copying libCryptoSelfTestCiphertest_CAST.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_DES.py -> buildlib.win32-2.7Crypto
SelfTestCipher
copying libCryptoSelfTestCiphertest_DES3.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_pkcs1_15.py -> buildlib.win32-2.7C
ryptoSelfTestCipher
copying libCryptoSelfTestCiphertest_pkcs1_oaep.py -> buildlib.win32-2.7
CryptoSelfTestCipher
copying libCryptoSelfTestCiphertest_XOR.py -> buildlib.win32-2.7Crypto
SelfTestCipher
copying libCryptoSelfTestCipher__init__.py -> buildlib.win32-2.7Crypto
SelfTestCipher
creating buildlib.win32-2.7CryptoSelfTestHash
copying libCryptoSelfTestHashcommon.py -> buildlib.win32-2.7CryptoSel
fTestHash
copying libCryptoSelfTestHashtest_HMAC.py -> buildlib.win32-2.7Crypto
SelfTestHash
copying libCryptoSelfTestHashtest_MD2.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_MD4.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_MD5.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_RIPEMD.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_SHA224.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA256.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA384.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA512.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHash__init__.py -> buildlib.win32-2.7CryptoS
elfTestHash
creating buildlib.win32-2.7CryptoSelfTestProtocol
copying libCryptoSelfTestProtocoltest_AllOrNothing.py -> buildlib.win32
-2.7CryptoSelfTestProtocol
copying libCryptoSelfTestProtocoltest_chaffing.py -> buildlib.win32-2.7
CryptoSelfTestProtocol
copying libCryptoSelfTestProtocoltest_KDF.py -> buildlib.win32-2.7Cryp
toSelfTestProtocol
copying libCryptoSelfTestProtocoltest_rfc1751.py -> buildlib.win32-2.7
CryptoSelfTestProtocol
copying libCryptoSelfTestProtocol__init__.py -> buildlib.win32-2.7Cryp
toSelfTestProtocol
creating buildlib.win32-2.7CryptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_DSA.py -> buildlib.win32-2.7Cry
ptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_ElGamal.py -> buildlib.win32-2.7
CryptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_importKey.py -> buildlib.win32-2
.7CryptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_RSA.py -> buildlib.win32-2.7Cry
ptoSelfTestPublicKey
copying libCryptoSelfTestPublicKey__init__.py -> buildlib.win32-2.7Cry
ptoSelfTestPublicKey
creating buildlib.win32-2.7CryptoSelfTestRandom
copying libCryptoSelfTestRandomtest_random.py -> buildlib.win32-2.7Cry
ptoSelfTestRandom
copying libCryptoSelfTestRandomtest_rpoolcompat.py -> buildlib.win32-2.
7CryptoSelfTestRandom
copying libCryptoSelfTestRandomtest__UserFriendlyRNG.py -> buildlib.win
32-2.7CryptoSelfTestRandom
copying libCryptoSelfTestRandom__init__.py -> buildlib.win32-2.7Crypto
SelfTestRandom
creating buildlib.win32-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortunatest_FortunaAccumulator.py -> bui
ldlib.win32-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortunatest_FortunaGenerator.py -> build
lib.win32-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortunatest_SHAd256.py -> buildlib.win3
2-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortuna__init__.py -> buildlib.win32-2.
7CryptoSelfTestRandomFortuna
creating buildlib.win32-2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_fallback.py -> buildlib.win32
-2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_generic.py -> buildlib.win32-
2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_nt.py -> buildlib.win32-2.7C
ryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_posix.py -> buildlib.win32-2.
7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_winrandom.py -> buildlib.win3
2-2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNG__init__.py -> buildlib.win32-2.7
CryptoSelfTestRandomOSRNG
creating buildlib.win32-2.7CryptoSelfTestUtil
copying libCryptoSelfTestUtiltest_asn1.py -> buildlib.win32-2.7Crypto
SelfTestUtil
copying libCryptoSelfTestUtiltest_Counter.py -> buildlib.win32-2.7Cryp
toSelfTestUtil
copying libCryptoSelfTestUtiltest_number.py -> buildlib.win32-2.7Crypt
oSelfTestUtil
copying libCryptoSelfTestUtiltest_winrandom.py -> buildlib.win32-2.7Cr
yptoSelfTestUtil
copying libCryptoSelfTestUtil__init__.py -> buildlib.win32-2.7CryptoS
elfTestUtil
creating buildlib.win32-2.7CryptoSelfTestSignature
copying libCryptoSelfTestSignaturetest_pkcs1_15.py -> buildlib.win32-2.
7CryptoSelfTestSignature
copying libCryptoSelfTestSignaturetest_pkcs1_pss.py -> buildlib.win32-2
.7CryptoSelfTestSignature
copying libCryptoSelfTestSignature__init__.py -> buildlib.win32-2.7Cry
ptoSelfTestSignature
creating buildlib.win32-2.7CryptoProtocol
copying libCryptoProtocolAllOrNothing.py -> buildlib.win32-2.7CryptoPr
otocol
copying libCryptoProtocolChaffing.py -> buildlib.win32-2.7CryptoProtoc
ol
copying libCryptoProtocolKDF.py -> buildlib.win32-2.7CryptoProtocol
copying libCryptoProtocol__init__.py -> buildlib.win32-2.7CryptoProtoc
ol
creating buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKeyDSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKeyElGamal.py -> buildlib.win32-2.7CryptoPublic
Key
copying libCryptoPublicKeypubkey.py -> buildlib.win32-2.7CryptoPublicK
ey
copying libCryptoPublicKeyRSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKey_DSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKey_RSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKey_slowmath.py -> buildlib.win32-2.7CryptoPubl
icKey
copying libCryptoPublicKey__init__.py -> buildlib.win32-2.7CryptoPubli
cKey
creating buildlib.win32-2.7CryptoSignature
copying libCryptoSignaturePKCS1_PSS.py -> buildlib.win32-2.7CryptoSign
ature
copying libCryptoSignaturePKCS1_v1_5.py -> buildlib.win32-2.7CryptoSig
nature
copying libCryptoSignature__init__.py -> buildlib.win32-2.7CryptoSigna
ture
running build_ext
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastm
ath.
building 'Crypto.Random.OSRNG.winrandom' extension
error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpyt
hon27
----------------------------------------
Command "c:python27python.exe -u -c "import setuptools,
tokenize;__file__='c:
users\beheer~1\appdata\local\temp\pip-install-
_luvop\pycrypto\setup.py';
f=getattr(tokenize, 'open', open)
(__file__);code=f.read().replace('rn', 'n');
f.close();exec(compile(code, __file__, 'exec'))" install --record
c:usersbehee
r~1appdatalocaltemppip-record-jct20jinstall-record.txt --single-
version-ext
ernally-managed --compile" failed with error code 1 in
c:usersbeheer~1appdata
localtemppip-install-_luvoppycrypto
I already tried this command:
pip install --upgrade setuptools
And this still didnt work.
Answers:
The solution was simple
just
pip uninstall pycrypto
pip install pycryptodome
And every should just work fine, it worked for me!
In some cases it is a dependency issue. It can be solved as follows:
for python2
run the following command:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
For python3
run
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
Create new environment for python project for using command conda create -n env_name python=3.6
you to write python version according to your requirements. after that you can clone your project in that environment. it will work.
I fixed same problem in linux running sudo apt-get install pythonX.X-dev
before installing pycrypto. Replace pythonX.X with your python version e.g. sudo apt-get install python3.6-dev
installing python3-devel (for python3) helped to solve my problem
details in
fatal error: Python.h: No such file or directory
There is no support whatsoever from the project. Specifically in windows. Pycrypto Issue Link.
For ubuntu these answers will work.
But I guess for windows you should switch to pycryptodome as it installs the packages with the same crypto name as pycrypto,
After so many try with errors, now i have one solution for pycrypto and splunklib
Code of my Docker file that need to update :
FROM python:3.8-slim
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app
RUN pip install --no-cache-dir -r requirements.txt
RUN apt-get update && apt-get install -y --no-install-recommends gcc build-
essential postgresql libpq-dev vim
COPY . /app
WORKDIR /app/api
EXPOSE 3000
CMD ["uvicorn", "api:app", "--host", "0.0.0.0", "--port", "3000", "--reload"]
requirements.txt have
…
pycryptodome==3.14.1
splunk-sdk==1.6.19
splunklib==1.0.0
….
below error was showing for me when try to run above docker file code
Building wheel for splunk-sdk (setup.py): started
#9 80.50 Building wheel for splunk-sdk (setup.py): finished with status 'done'
#9 80.51 Created wheel for splunk-sdk: filename=splunk_sdk-1.6.20-py3-none-any.whl
size=124053 sha256=ddce3663bb166c6732e18f1ed95187528c2a666b996eff7dfac00302cf9771d7
#9 80.51 Stored in directory: /tmp/pip-ephem-wheel-cache-
frl315nd/wheels/f7/a1/72/b2474c8ffe6b02fe24078e3413ed668fe6b85dfb17cd8e64c2
#9 80.51 Building wheel for pycrypto (setup.py): started
#9 92.72 Building wheel for pycrypto (setup.py): finished with status 'error'
#9 92.76 error: subprocess-exited-with-error
Running setup.py install for pycrypto: started
#9 106.8 Running setup.py install for pycrypto: finished with status 'error'
#9 106.9 error: subprocess-exited-with-error note: This error originates from a subprocess, and is likely not a problem with pip.
#9 106.9 error: legacy-install-failure
#9 106.9 Encountered error while trying to install package.
#9 106.9 pycrypto
**Solution ** – Now i am updating docker file with below code
FROM python:3.8-slim
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app
RUN apt-get update && apt-get install -y --no-install-recommends gcc build-essential postgresql libpq-dev vim
RUN apt-get install -y --no-install-recommends libssl-dev libffi-dev
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
WORKDIR /app/api
EXPOSE 3000
CMD ["uvicorn", "api:app", "--host", "0.0.0.0", "--port", "3000", "--reload"]
you can install pip install pycryptodomex
as it is the only version that is now independent from the old PyCrypto library.
Note: all modules are installed under the Cryptodome package e.g
from Cryptodome.Cipher import AES
you can read more from official docs here https://www.pycryptodome.org/src/introduction
I encountered a problem when I try to download a certain package:
C:Python27Scripts>pip install pycrypto
Collecting pycrypto
Using cached https://files.pythonhosted.org/packages/60/db/645aa9af249f059cc3a368b118de33889219e0362141e75d4eaf6f80f163/pycrypto-2.6.1.tar.gz
Installing collected packages: pycrypto
Running setup.py install for pycrypto ... error
Complete output from command c:python27python.exe -u -c "import setuptools
, tokenize;__file__='c:\users\beheer~1\appdata\local\temp\pip-install-_luv
op\pycrypto\setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read(
).replace('rn', 'n');f.close();exec(compile(code, __file__, 'exec'))" install
--record c:usersbeheer~1appdatalocaltemppip-record-jct20jinstall-record.
txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating buildlib.win32-2.7
creating buildlib.win32-2.7Crypto
copying libCryptopct_warnings.py -> buildlib.win32-2.7Crypto
copying libCrypto__init__.py -> buildlib.win32-2.7Crypto
creating buildlib.win32-2.7CryptoHash
copying libCryptoHashhashalgo.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashHMAC.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashMD2.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashMD4.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashMD5.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashRIPEMD.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA224.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA256.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA384.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHashSHA512.py -> buildlib.win32-2.7CryptoHash
copying libCryptoHash__init__.py -> buildlib.win32-2.7CryptoHash
creating buildlib.win32-2.7CryptoCipher
copying libCryptoCipherAES.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherARC2.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherARC4.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherblockalgo.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherBlowfish.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherCAST.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherDES.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherDES3.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherPKCS1_OAEP.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherPKCS1_v1_5.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipherXOR.py -> buildlib.win32-2.7CryptoCipher
copying libCryptoCipher__init__.py -> buildlib.win32-2.7CryptoCipher
creating buildlib.win32-2.7CryptoUtil
copying libCryptoUtilasn1.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilCounter.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilnumber.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilpy21compat.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilpy3compat.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilrandpool.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilRFC1751.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtilwinrandom.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtil_number_new.py -> buildlib.win32-2.7CryptoUtil
copying libCryptoUtil__init__.py -> buildlib.win32-2.7CryptoUtil
creating buildlib.win32-2.7CryptoRandom
copying libCryptoRandomrandom.py -> buildlib.win32-2.7CryptoRandom
copying libCryptoRandom_UserFriendlyRNG.py -> buildlib.win32-2.7Crypto
Random
copying libCryptoRandom__init__.py -> buildlib.win32-2.7CryptoRandom
creating buildlib.win32-2.7CryptoRandomFortuna
copying libCryptoRandomFortunaFortunaAccumulator.py -> buildlib.win32-2
.7CryptoRandomFortuna
copying libCryptoRandomFortunaFortunaGenerator.py -> buildlib.win32-2.7
CryptoRandomFortuna
copying libCryptoRandomFortunaSHAd256.py -> buildlib.win32-2.7CryptoR
andomFortuna
copying libCryptoRandomFortuna__init__.py -> buildlib.win32-2.7Crypto
RandomFortuna
creating buildlib.win32-2.7CryptoRandomOSRNG
copying libCryptoRandomOSRNGfallback.py -> buildlib.win32-2.7CryptoRa
ndomOSRNG
copying libCryptoRandomOSRNGnt.py -> buildlib.win32-2.7CryptoRandomO
SRNG
copying libCryptoRandomOSRNGposix.py -> buildlib.win32-2.7CryptoRando
mOSRNG
copying libCryptoRandomOSRNGrng_base.py -> buildlib.win32-2.7CryptoRa
ndomOSRNG
copying libCryptoRandomOSRNG__init__.py -> buildlib.win32-2.7CryptoRa
ndomOSRNG
creating buildlib.win32-2.7CryptoSelfTest
copying libCryptoSelfTestst_common.py -> buildlib.win32-2.7CryptoSelfT
est
copying libCryptoSelfTest__init__.py -> buildlib.win32-2.7CryptoSelfTe
st
creating buildlib.win32-2.7CryptoSelfTestCipher
copying libCryptoSelfTestCiphercommon.py -> buildlib.win32-2.7CryptoS
elfTestCipher
copying libCryptoSelfTestCiphertest_AES.py -> buildlib.win32-2.7Crypto
SelfTestCipher
copying libCryptoSelfTestCiphertest_ARC2.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_ARC4.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_Blowfish.py -> buildlib.win32-2.7C
ryptoSelfTestCipher
copying libCryptoSelfTestCiphertest_CAST.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_DES.py -> buildlib.win32-2.7Crypto
SelfTestCipher
copying libCryptoSelfTestCiphertest_DES3.py -> buildlib.win32-2.7Crypt
oSelfTestCipher
copying libCryptoSelfTestCiphertest_pkcs1_15.py -> buildlib.win32-2.7C
ryptoSelfTestCipher
copying libCryptoSelfTestCiphertest_pkcs1_oaep.py -> buildlib.win32-2.7
CryptoSelfTestCipher
copying libCryptoSelfTestCiphertest_XOR.py -> buildlib.win32-2.7Crypto
SelfTestCipher
copying libCryptoSelfTestCipher__init__.py -> buildlib.win32-2.7Crypto
SelfTestCipher
creating buildlib.win32-2.7CryptoSelfTestHash
copying libCryptoSelfTestHashcommon.py -> buildlib.win32-2.7CryptoSel
fTestHash
copying libCryptoSelfTestHashtest_HMAC.py -> buildlib.win32-2.7Crypto
SelfTestHash
copying libCryptoSelfTestHashtest_MD2.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_MD4.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_MD5.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_RIPEMD.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA.py -> buildlib.win32-2.7CryptoS
elfTestHash
copying libCryptoSelfTestHashtest_SHA224.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA256.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA384.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHashtest_SHA512.py -> buildlib.win32-2.7Crypt
oSelfTestHash
copying libCryptoSelfTestHash__init__.py -> buildlib.win32-2.7CryptoS
elfTestHash
creating buildlib.win32-2.7CryptoSelfTestProtocol
copying libCryptoSelfTestProtocoltest_AllOrNothing.py -> buildlib.win32
-2.7CryptoSelfTestProtocol
copying libCryptoSelfTestProtocoltest_chaffing.py -> buildlib.win32-2.7
CryptoSelfTestProtocol
copying libCryptoSelfTestProtocoltest_KDF.py -> buildlib.win32-2.7Cryp
toSelfTestProtocol
copying libCryptoSelfTestProtocoltest_rfc1751.py -> buildlib.win32-2.7
CryptoSelfTestProtocol
copying libCryptoSelfTestProtocol__init__.py -> buildlib.win32-2.7Cryp
toSelfTestProtocol
creating buildlib.win32-2.7CryptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_DSA.py -> buildlib.win32-2.7Cry
ptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_ElGamal.py -> buildlib.win32-2.7
CryptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_importKey.py -> buildlib.win32-2
.7CryptoSelfTestPublicKey
copying libCryptoSelfTestPublicKeytest_RSA.py -> buildlib.win32-2.7Cry
ptoSelfTestPublicKey
copying libCryptoSelfTestPublicKey__init__.py -> buildlib.win32-2.7Cry
ptoSelfTestPublicKey
creating buildlib.win32-2.7CryptoSelfTestRandom
copying libCryptoSelfTestRandomtest_random.py -> buildlib.win32-2.7Cry
ptoSelfTestRandom
copying libCryptoSelfTestRandomtest_rpoolcompat.py -> buildlib.win32-2.
7CryptoSelfTestRandom
copying libCryptoSelfTestRandomtest__UserFriendlyRNG.py -> buildlib.win
32-2.7CryptoSelfTestRandom
copying libCryptoSelfTestRandom__init__.py -> buildlib.win32-2.7Crypto
SelfTestRandom
creating buildlib.win32-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortunatest_FortunaAccumulator.py -> bui
ldlib.win32-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortunatest_FortunaGenerator.py -> build
lib.win32-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortunatest_SHAd256.py -> buildlib.win3
2-2.7CryptoSelfTestRandomFortuna
copying libCryptoSelfTestRandomFortuna__init__.py -> buildlib.win32-2.
7CryptoSelfTestRandomFortuna
creating buildlib.win32-2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_fallback.py -> buildlib.win32
-2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_generic.py -> buildlib.win32-
2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_nt.py -> buildlib.win32-2.7C
ryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_posix.py -> buildlib.win32-2.
7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNGtest_winrandom.py -> buildlib.win3
2-2.7CryptoSelfTestRandomOSRNG
copying libCryptoSelfTestRandomOSRNG__init__.py -> buildlib.win32-2.7
CryptoSelfTestRandomOSRNG
creating buildlib.win32-2.7CryptoSelfTestUtil
copying libCryptoSelfTestUtiltest_asn1.py -> buildlib.win32-2.7Crypto
SelfTestUtil
copying libCryptoSelfTestUtiltest_Counter.py -> buildlib.win32-2.7Cryp
toSelfTestUtil
copying libCryptoSelfTestUtiltest_number.py -> buildlib.win32-2.7Crypt
oSelfTestUtil
copying libCryptoSelfTestUtiltest_winrandom.py -> buildlib.win32-2.7Cr
yptoSelfTestUtil
copying libCryptoSelfTestUtil__init__.py -> buildlib.win32-2.7CryptoS
elfTestUtil
creating buildlib.win32-2.7CryptoSelfTestSignature
copying libCryptoSelfTestSignaturetest_pkcs1_15.py -> buildlib.win32-2.
7CryptoSelfTestSignature
copying libCryptoSelfTestSignaturetest_pkcs1_pss.py -> buildlib.win32-2
.7CryptoSelfTestSignature
copying libCryptoSelfTestSignature__init__.py -> buildlib.win32-2.7Cry
ptoSelfTestSignature
creating buildlib.win32-2.7CryptoProtocol
copying libCryptoProtocolAllOrNothing.py -> buildlib.win32-2.7CryptoPr
otocol
copying libCryptoProtocolChaffing.py -> buildlib.win32-2.7CryptoProtoc
ol
copying libCryptoProtocolKDF.py -> buildlib.win32-2.7CryptoProtocol
copying libCryptoProtocol__init__.py -> buildlib.win32-2.7CryptoProtoc
ol
creating buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKeyDSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKeyElGamal.py -> buildlib.win32-2.7CryptoPublic
Key
copying libCryptoPublicKeypubkey.py -> buildlib.win32-2.7CryptoPublicK
ey
copying libCryptoPublicKeyRSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKey_DSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKey_RSA.py -> buildlib.win32-2.7CryptoPublicKey
copying libCryptoPublicKey_slowmath.py -> buildlib.win32-2.7CryptoPubl
icKey
copying libCryptoPublicKey__init__.py -> buildlib.win32-2.7CryptoPubli
cKey
creating buildlib.win32-2.7CryptoSignature
copying libCryptoSignaturePKCS1_PSS.py -> buildlib.win32-2.7CryptoSign
ature
copying libCryptoSignaturePKCS1_v1_5.py -> buildlib.win32-2.7CryptoSig
nature
copying libCryptoSignature__init__.py -> buildlib.win32-2.7CryptoSigna
ture
running build_ext
warning: GMP or MPIR library not found; Not building Crypto.PublicKey._fastm
ath.
building 'Crypto.Random.OSRNG.winrandom' extension
error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpyt
hon27
----------------------------------------
Command "c:python27python.exe -u -c "import setuptools,
tokenize;__file__='c:
users\beheer~1\appdata\local\temp\pip-install-
_luvop\pycrypto\setup.py';
f=getattr(tokenize, 'open', open)
(__file__);code=f.read().replace('rn', 'n');
f.close();exec(compile(code, __file__, 'exec'))" install --record
c:usersbehee
r~1appdatalocaltemppip-record-jct20jinstall-record.txt --single-
version-ext
ernally-managed --compile" failed with error code 1 in
c:usersbeheer~1appdata
localtemppip-install-_luvoppycrypto
I already tried this command:
pip install --upgrade setuptools
And this still didnt work.
The solution was simple
just
pip uninstall pycrypto
pip install pycryptodome
And every should just work fine, it worked for me!
In some cases it is a dependency issue. It can be solved as follows:
for python2
run the following command:
sudo apt-get install build-essential libssl-dev libffi-dev python-dev
For python3
run
sudo apt-get install build-essential libssl-dev libffi-dev python3-dev
Create new environment for python project for using command conda create -n env_name python=3.6
you to write python version according to your requirements. after that you can clone your project in that environment. it will work.
I fixed same problem in linux running sudo apt-get install pythonX.X-dev
before installing pycrypto. Replace pythonX.X with your python version e.g. sudo apt-get install python3.6-dev
installing python3-devel (for python3) helped to solve my problem
details in
fatal error: Python.h: No such file or directory
There is no support whatsoever from the project. Specifically in windows. Pycrypto Issue Link.
For ubuntu these answers will work.
But I guess for windows you should switch to pycryptodome as it installs the packages with the same crypto name as pycrypto,
After so many try with errors, now i have one solution for pycrypto and splunklib
Code of my Docker file that need to update :
FROM python:3.8-slim
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app
RUN pip install --no-cache-dir -r requirements.txt
RUN apt-get update && apt-get install -y --no-install-recommends gcc build-
essential postgresql libpq-dev vim
COPY . /app
WORKDIR /app/api
EXPOSE 3000
CMD ["uvicorn", "api:app", "--host", "0.0.0.0", "--port", "3000", "--reload"]
requirements.txt have
…
pycryptodome==3.14.1
splunk-sdk==1.6.19
splunklib==1.0.0
….
below error was showing for me when try to run above docker file code
Building wheel for splunk-sdk (setup.py): started
#9 80.50 Building wheel for splunk-sdk (setup.py): finished with status 'done'
#9 80.51 Created wheel for splunk-sdk: filename=splunk_sdk-1.6.20-py3-none-any.whl
size=124053 sha256=ddce3663bb166c6732e18f1ed95187528c2a666b996eff7dfac00302cf9771d7
#9 80.51 Stored in directory: /tmp/pip-ephem-wheel-cache-
frl315nd/wheels/f7/a1/72/b2474c8ffe6b02fe24078e3413ed668fe6b85dfb17cd8e64c2
#9 80.51 Building wheel for pycrypto (setup.py): started
#9 92.72 Building wheel for pycrypto (setup.py): finished with status 'error'
#9 92.76 error: subprocess-exited-with-error
Running setup.py install for pycrypto: started
#9 106.8 Running setup.py install for pycrypto: finished with status 'error'
#9 106.9 error: subprocess-exited-with-error note: This error originates from a subprocess, and is likely not a problem with pip.
#9 106.9 error: legacy-install-failure
#9 106.9 Encountered error while trying to install package.
#9 106.9 pycrypto
**Solution ** – Now i am updating docker file with below code
FROM python:3.8-slim
RUN mkdir /app
WORKDIR /app
COPY requirements.txt /app
RUN apt-get update && apt-get install -y --no-install-recommends gcc build-essential postgresql libpq-dev vim
RUN apt-get install -y --no-install-recommends libssl-dev libffi-dev
RUN pip install --no-cache-dir -r requirements.txt
COPY . /app
WORKDIR /app/api
EXPOSE 3000
CMD ["uvicorn", "api:app", "--host", "0.0.0.0", "--port", "3000", "--reload"]
you can install pip install pycryptodomex
as it is the only version that is now independent from the old PyCrypto library.
Note: all modules are installed under the Cryptodome package e.g
from Cryptodome.Cipher import AES
you can read more from official docs here https://www.pycryptodome.org/src/introduction