安装pywin32时遇到问题

Joh*_*nna 7 python pywin32

我正在尝试为Python 2.6安装pywin32.我安装了python,但它不在常规c:驱动器中,而是在d:驱动器上.pywin32安装程序找不到它,我无法给它自定义路径.

我检查过,python文件夹是路径.这个问题有解决方法吗?

OBu*_*OBu 15

更新2017-06-14 似乎与python 3.6相同的问题重新开始.但我发现了一个很好的建议:有一个pywin32的pip版本:只需使用

pip install pypiwin32

它没有安装最新版本(sourceforge目前有221个,它安装了220个),但它没有注册表修改或任何其他黑客工作.

更新2017-02-01: 我刚刚尝试在Windows 10(64位)上使用Python 3.5.2 32位安装build 220,并且一切都运行良好,无需修改注册表.因此,最好的建议可能是使用最新的构建而不是构建219.

旧解决方案(构建219):

今天我遇到了同样的问题,当我尝试在Windows 8.1下安装pywin32和Python 3.5 win32时.

py 3.5的所有安装程序(build 219)都失败了,并且如耶稣Flores和lauren alsina的帖子所述修改注册表并没有解决问题.

什么做的把戏对我来说是添加注册表entrys不在HKEY_LOCAL_MACHINE,但HKEY_CURRENT_USER 在改变Python版本PythonCore3.5-323.5.

有趣的是,使用3.5-32密钥,64位安装程序可以工作,但当然你会遇到问题,因为安装的64位lib与32位python不兼容.这个安装程序中有些东西很破碎.

总而言之,我为Python 3.5 w32工作的.reg文件如下所示:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\SOFTWARE\Python]

[HKEY_CURRENT_USER\SOFTWARE\Python\PyLauncher]
"InstallDir"="C:\\Windows\\"
"AssociateFiles"=dword:00000001
@="C:\\Windows\\py.exe"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Help]

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Help\Main Python Documentation]
@="C:\\Program Files (x86)\\Python 3.5\\Doc\\python350.chm"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\Idle]
@="C:\\Program Files (x86)\\Python 3.5\\Lib\\idlelib\\idle.pyw"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\IdleShortcuts]
@=dword:00000001

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstalledFeatures]
"dev"="3.5.150.0"
"Shortcuts"="3.5.150.0"
"exe"="3.5.150.0"
"lib"="3.5.150.0"
"test"="3.5.150.0"
"doc_shortcut"="3.5.150.0"
"doc"="3.5.150.0"
"tools"="3.5.150.0"
"tcltk"="3.5.150.0"
"pip"="3.5.150.0"
"path"="3.5.150.0"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstallPath]
@="C:\\Program Files (x86)\\Python 3.5\\"
"ExecutablePath"="C:\\Program Files (x86)\\Python 3.5\\python.exe"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\InstallPath\InstallGroup]
@="Python 3.5"

[HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\3.5\PythonPath]
@="C:\\Program Files (x86)\\Python 3.5\\Lib\\;C:\\Program Files (x86)\\Python 3.5\\DLLs\\"
Run Code Online (Sandbox Code Playgroud)


gio*_*lio 14

来自pywin32自述文件

如果安装过程通知您在注册表中找不到Python,则几乎可以肯定意味着您已经下载了错误的版本 - 无论是错误版本的Python还是错误的"bittedness".

你确定你的python和你的cpu架构有正确的版本吗?如果你这样做并且不起作用,你可以尝试从源代码构建,我认为可能有一个命令行标志允许你指定python安装位置.

  • 这个答案是"不正确的".问题是reg键,如果只为用户安装python,请查找HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\2.7,而不是HKEY_LOCAL_MACHINE.确保正确设置InstallPath和PythonPath,例如InstallPath是C:\ Python27,PythonPath是C:\ Python27; C:\ Python27\Lib; C:\ Python27\DLLs. (6认同)

小智 8

我有同样的问题:

在64位Windows上,32位应用程序正在注册:

[1] HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Python

我估计安装程序希望在以下位置找到Python:

[2] HKEY_LOCAL_MACHINE\SOFTWARE\Python

使用regedit和本地管理员权限,您可以导出[1]的.reg文件,删除您找到的所有"Wow6432Node",然后将其导入为[2]