解释Crypto模块怎么就这么"皮"?No module named "Crypto"
python版本:python3.6,系统:win7
1.pip install crypto;
会安装很多包:chardet, certifi, urllib3, idna, requests, pyyaml, Naked, shellescape, crypto
2.安装成功后,提示没有该模块,那就去python3的安装目录..Lib/site-package中查看是否有Crypto文件夹
这时你会看到有crypto文件夹,将其重命名为Crypto即可;
3.又出现另一个提示说没有Crypto.Cipher,“ModuleNotFoundError:No module named ‘Crypto.Cipher’”;这时需要卸载pycrypto:
pip uninstall pycrypto,然后安装pycryptodome,pip install pycryptodome,即可。
这是我把我的windows环境弄乱了,才会用上面这种解决办法。真正的解决办法是下面这个,我这么操作了一下:
1
2
3
4
|
pip uninstall crypto pycryptodome pip install pycryptodome 你会发现site-packages下的该模块的目录名已经是大写了-Crypto 但是pycharm不识别这个模块,造成了很多不便 |
在python中想要使用crypto相关的库,网上的解决方法一大片,但是大多都是废话,能用的没有几个,而且能安装的没有几个。
首先我告诉大家为什么不能安装,其次告诉一种真正的方法。
python版本:python3.6,系统:win7;目的:crypto安装
1.pycrypto、pycrytodome和crypto是一个东西,crypto在python上面的名字是pycrypto,它是一个第三方库,但是已经停止更新三年了,所以不建议安装这个库;
2.windows下python3.6安装也不会成功!
这个时候pycryptodome就来了,它是pycrypto的延伸版本,用法和pycrypto是一模一样的;
所以,我现在告诉大家一种解决方法--直接安装:pip install pycryptodome
3.但是,在使用的时候导入模块是有问题的,这个时候只要修改一个文件夹的名称就可以完美解决这个问题,
Python\Python36\Lib\site-packages,找到这个路径,下面有一个文件夹叫做crypto,将小写c改成大写C就ok了。
我在我的linux生产环境上,版本是3.6,直接安装pycryptodome,第三方目录下的包直接就是:Crypto、pycryptodome-3.6.6.dist-info,连名字都不用改。