zoukankan      html  css  js  c++  java
  • No module named "Crypto" 解释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.但是,在使用的时候导入模块是有问题的,这个时候只要修改一个文件夹的名称就可以完美解决这个问题,

    PythonPython36Libsite-packages,找到这个路径,下面有一个文件夹叫做crypto,将小写c改成大写C就ok了。

    我在我的linux生产环境上,版本是3.6,直接安装pycryptodome,第三方目录下的包直接就是:Crypto、pycryptodome-3.6.6.dist-info,连名字都不用改。

    人生苦短,我用python
  • 相关阅读:
    postgresql批量删除表
    Oracle迁移至PostgreSQL工具之Ora2Pg
    postgresql获取表最后更新时间(通过发布订阅机制将消息发送给应用程序)
    postgresql获取表最后更新时间(通过表磁盘存储文件时间)
    postgresql获取表最后更新时间(通过触发器将时间写入另外一张表)
    postgresql源码编译安装(centos)
    Java 学习笔记(7)——接口与多态
    Java 学习笔记(6)——继承
    Java 学习笔记(4)——java 常见类
    Java 学习笔记(4)——面向对象
  • 原文地址:https://www.cnblogs.com/niucunguo/p/13885460.html
Copyright © 2011-2022 走看看