Pywin32错误地安装进Anaconda的Python里了
Pywin32是Python的Windows扩展文件
最近打算学 Scrapy,所以需要配置好环境和安装一些依赖库,之前安装 wheel、lxml、PyOpenssl、Twisted 这些间接或直接的库都没啥问题,但在安装 Pywin32 时出现了一些问题,以下是我的安装记录
下载Pywin32
- 221版本: https:// sourceforge.net/project s/pywin32/files/pywin32/Build%20221/
- 220版本: https:// sourceforge.net/project s/pywin32/files/pywin32/Build%20220/
我的是Python3.6.1,因为221版本比220版本新,所以选择了221版本(如果页面加载不完整,试下其它浏览器模式,比如IE)。
点击 pywin32-221.win-amd64-py3.6.exe 版本耐心等待保存文件的提示窗口出现
安装Pywin32出现问题
打开刚下载安装包的 pywin32-221.win-amd64-py3.6.exe ,按照提示即可进入以下界面
我安装了单独的Python,而且是希望把Pywin32安装到单独的Python里(下图也表明它的优先级最高),而不是 Anaconda 里的 Python ,但不知为何只检测到 Anaconda 里 Python 的安装目录
我以为没影响就直接安装了
然后把Scrapy也安装好后测试Scrapy是否安装成功,我是觉得如果Scrapy能正常运行,那说明之前安装的依赖库和Pywin32都没问题
但其实这只能说明Scrapy安装成功,没用到Pywin32的功能当然不会出现什么异常,如果以后用到了就会报错了。
要检测Pywin32是否正确安装,需要进入Python交互式命令行模式,执行导入 win32 的命令
import win32
果然出现了异常,无法导入win32模块
换用 Anaconda 的 Python 执行上面的命令后导入成功,说明 Pywin32 确实安装到 Anaconda 的 Python 里了
可以在Anaconda的安装目录下 I:\Anaconda3\Lib\site-packages 看到 pywin32_system32 ,而单独Python的安装目录 I:\Python\Python36\Lib\site-packages 就找不到
另一奇怪的是:安装时生成 PythonWin.exe (Python的IDE程序)的快捷方式被自动添加到(单独)Python文件夹的开始菜单中
解决问题
后来网上搜索了很长时间,发现通过修改注册表可以解决该问题
打开注册表
在“运行”里进入regedit
进入路径:
HKEY_CURRENT_USER\Software\Python\PythonCore\3.6\
修改注册表
修改 InstallPath
把 InstallPath 的默认值改为单独安装的Python路径:
I:\Python\Python36
点击确定即成功修改
修改 PythonPath
把 PythonPath 的默认值改为单独安装的Python目录下的 Lib 及 DLLs (注意分号):
I:\Python\Python36\Lib;I:\Python\Python36\DLLs
点击确定即成功修改
重新安装Pywin32
重新打开安装包 pywin32-221.win-amd64-py3.6.exe ,按照提示即可进入以下界面
测试Pywin32是否正确安装
现在重新进入单独Python的交互式命令行模式,执行导入 win32 的命令
import win32
可以看到都导入成功,说明Pywin32正确安装
PS
只要Pywin32安装完成,不管是安装在哪个版本的Python中,都可以通过 Pythonwin (Python的IDE程序)编辑.py文件
微信公众号:display3D