首页 > 编程 > Python > 正文

windows环境下python安装pycrypto遇到的问题解决

2019-11-08 19:54:18
字体:
来源:转载
供稿:网友

    最近在学习使用python管理服务器,所以需要使用ssh等远程登录服务。在安装对于的python库pycrypto的时候,遇到了一些小问题,终于在参考别人的方法之后,成功安装。

    我使用的是python 2.7.13版本,有些问题在python3下解决方法不同。

    首先,。一般在官方网站下载:https://www.dlitz.net/software/pycrypto/。然后使用命令就可以安装成功了:           python setup.py build           python setup.py install      但是在windows下会报错:Python error: Unable to find vcvarsall.bat       这个问题在这个url:http://www.biaodianfu.com/python-error-unable-to-find-vcvarsall-bat.html所讲的已经很详细了。我试了一下,对于2.x的版本,下载微软的那个Microsoft Visual C++ Compiler Package for Python 2.7,是比较简单的方法。但是,这个软件下载安装完成之后,依然是不能使用的。

       

错误原因: 报这个错误的原因是Python的distutils模块中的msvc9compiler.py并不从环境变量指定的路径中寻找’vcvarsall.bat’,而是通过注册表来寻找…,然而,不知为什么编译器安装过程没有配置注册表。

解决办法: 只要手工把注册表配置好,就可以了。 // 1、打开注册表编辑器 run regedit // 2、配置 // 2.1、如果你安装的Python是32位的,则,创建如下项: HKEY_CURRENT_USER/Software/Microsoft/VisualStudio/9.0/Setup/VC // 2.2、如果你安装的Python是64位的,则,创建如下项: HKEY_CURRENT_USER/Software/Wow6432Node/Microsoft/VisualStudio/9.0/Setup/VC // 3、并在此项下新建字符串值: 名称:PRoductdir 数据:vcvarsall.bat所在的文件路径 注意:路径中不包含最后的反斜杠。

但是,有时候你做完上面的操作之后,会出现新的报错。

若遇到类似“UnicodeEncodeError: 'ascii' codec can't encode character u'/u6211' in position 0: ordinal not in range(128)”的问题,可以在 Python 的安装目录(默认为C:/Python27)下的 Lib/site-packages 文件夹中新建一个文件sitecustomize.py,添加如下代码并保存:

import syssys.setdefaultencoding('gb2312')Python

切记,该文件会更改 Python 的默认编码,以后出现类似的问题,可尝试将代码中的 gb2312 改为 utf-8 或 ascii ,然后再次尝试。

        


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表