安装 pywin32 的坑

坑1 :

在 Pypi 上有 pywin32 的页面 ,然后无法使用 pip 命令来安装它,只有到 Sourceforge 下载源码或安装程序

坑2:

如果你下载了源码,可以使用:

1
setup.py install

来自动编译安装。很不幸,我的windows上编译环境比较复杂( 有 vs2013/2015/2017)。 setup.py 在编译时抛出了各种环境错误。好在我有 mingw,使用命令:

1
setup.py build --compiler mingw32

用 mingw 来进行编译,然后被抛出错误:

1
2
win32/src/PyACL.cpp:1090:7: warning: unused variable 'pacl' [-Wunused-variable]
ACL *pacl=This->GetACL();

那么下载安装包直接进行安装吧 🙁

坑3:

我使用的是win10 64位操作系统,使用 python2.7 环境。于是下载了 pywin32-221.win-amd64-py2.7.exe 。点击安装,下一步:

仔细检查,环境变量是没有问题的。再手动选择python安装路径(只能粘贴,不可以键盘输入),还是有错误…… 查注册表,发现注册表里有一些缺失。添加注册表:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Help\Main Python Documentation]
@="E:\\program\\Python27\\Doc\\python2713.chm"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath]
@="E:\\program\\Python27\\"
"ExecutablePath"="E:\\program\\Python27\\"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath\InstallGroup]
@="Python 2.7"

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\Modules]

[HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\PythonPath]
@="E:\\program\\Python27\\Lib;E:\\program\\Python27\\DLLs;E:\\program\\Python27\\Lib\\lib-tk"

OK ,安装成功!😏

坑4:

在 python 中运行一下:

1
>>>import win32clipboard

出现错误:ImportError: DLL load failed: %1 不是有效的 Win32 应用程序。

摔……😡

再次检查,发现这台电脑是安装的python 是32位 版本的。再次安装 pywin32 的32位版本,这次运行成功……

🤣