Arion_Miles
Arion_Miles

Reputation: 163

no module named crypto.cipher

I'm trying my hands on encryption for a while now. I recently got hands on this python based crypter named PythonCrypter.

I'm fairly new to Python and when I try to open the CodeSection.py file via terminal, I get error saying from Crypto.Cipher import AES ImportError: No Module Named Crypto.Cipher

What am I doing wrong?

Upvotes: 17

Views: 77325

Answers (9)

BananaManEatsGood
BananaManEatsGood

Reputation: 29

I know this has already been answered, but I want to expand a little bit

pip install Crypto --> IS THE WRONG PACKAGE

if you do this run the below to remove it:

$> pip uninstall Crypto

Now, to install type:

$> pip uninstall pycrypto --> just in case you have a broken package already

$> pip install pycrypto

On macOS Catalina this will automatically install the pycrypto package for Python3.6 ONLY.

This means that if you run:

python your_script.py

It wil fail. Unless of course Python3 is set as your default.

Now if you really want to run pycrypto on Python2 you can run the below

$> sudo pip2 install pycrypto

You will need the sudo for this to work!

This will install pycrypto for Python2 only.

I hope this helps someone who might be installing then running with python2, or who wants the package installed with Python2 but is continuously installing with the Python3 package

Upvotes: 0

Amin
Amin

Reputation: 11

In my case, pycrypto package was not installed, when I tried to add it: I ran into the following error which was rectified by downloading and installing C++ Compiler for Python 2.7.

error: Microsoft Visual C++ 9.0 is required. Get it from http://aka.ms/vcpython27

Upvotes: 1

deepak
deepak

Reputation: 21

In ubuntu 18.04.2 LTS installing pycryptodome package resolved the issue

Upvotes: 2

pri
pri

Reputation: 104

I think u should try this:

sudo pip2 install pycrypto

Upvotes: 0

Hitechcomputergeek
Hitechcomputergeek

Reputation: 143

I just spent half an hour figuring this out on Ubuntu. Turns out, I had installed the python-pycryptopp package through apt (I prefer to avoid pip if possible), but the package I needed was actually python-crypto.

Upvotes: 2

bin456789
bin456789

Reputation: 672

pip uninstall Crypto
pip uninstall pycrypto
pip install pycrypto

That works for me.

The point is, when you install pycrypto, you should remove Crypto first

Upvotes: 50

thephez
thephez

Reputation: 372

I just encountered this issue with Python 2.7 on Windows. My solution was to rename the folder from ..\site-packages\crypto to ..\site-packages\Crypto. The lower case "c" was causing the import error.

See https://github.com/pypa/pip/issues/3309 for details.

Upvotes: 15

johnny_be
johnny_be

Reputation: 319

PyCrypto doesn't play well with Windows systems if you're installing using pip or easy_install... or at least it didn't for me.

Try using the prebuilt binaries for Windows here: http://www.voidspace.org.uk/python/modules.shtml#pycrypto

Upvotes: 3

omri_saadon
omri_saadon

Reputation: 10671

In order to use the pycypto library you should install it with:

pip install pycrypto

or

easy_install pycrypto

Upvotes: 8

Related Questions