2013-07-26 446 views
24

我已经从https://www.enthought.com/products/epd/free/下载了Enthought Canopy EPD Free(现在是Canopy Express),并且想要安装不属于基本EPD免费安装的SciKit Learn(http://sourceforge.net/projects/scikit-learn/files/)。如何将Python添加到Windows注册表

当试图安装它时,在Windows注册表中找不到Python。如何调整注册表以便识别Enthought版本的Python?

+0

另请参阅相关的PEP 514 https://www.python.org/dev/peps/pep-0514/ – chip

+0

这也固定ReportLab的 – dav

回答

7

你可以找到Python的可执行文件使用此命令:

C:\> where python.exe 

应该返回类似:

C:\Users\<user>\AppData\Local\enthought\Canopy32\User\python.exe 

打开注册表编辑器,定位到HKEY_CURRENT_USER\SOFTWARE\Python\PythonCore\<version>\PythonPath与添加或编辑默认密钥这个在第一个命令中找到的值。 应该找到注销,登录和python。 SciKit现在可以安装。

有关更多详细信息,请参阅https://docs.python.org/2/using/windows.html#finding-modules中的其他“应用程序路径”。

+4

问题我使用HKEY_CURRENT_USER \ SOFTWARE \ Python的\ PythonCore \ \ InstallPath –

+0

是的,但问题是关于“Enthought版本的Python”。我猜Enthought增加了特定的模块到它自己的Python版本。 –

+1

在我的系统上,'InstallPath'是安装Python的位置'C:\ Python \ p27','PythonPath'包含'C:\ Python \ p27 \ Lib; C:\ Python \ p27 \ DLLs; C:\ Python \ p27 \ Lib \ lib-tk',它可以帮助Python运行时查找模块,支持DLL等。我认为'PythonPath'的功能类似于Windows的'PATH'环境变量。 – Matthew

21

我面临同样的问题。我解决它通过

  1. 导航到HKEY_CURRENT_USER\Software\Python\PythonCore\3.4\InstallPath和编辑 C:\> where python.exe命令的输出默认密钥。
  2. 导航到HKEY_CURRENT_USER\Software\Python\PythonCore\3.4\InstallPath\InstallGroupPython 3.4

注意修改默认键:我的Python版本是3.4,你需要与你的 Python版本替换3.4。

通常情况下,您可以在HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\<version>中找到Python的注册表项。您只需将这些条目复制到HKEY_CURRENT_USER\Software\Python\PythonCore\<version>

+2

我有同样的问题,并感谢@Sameera Nandasiri,我能够解决它。我只是想添加关于复制注册表项的提示。可能有更好的办法,但是我所做的是将Python key导出到.reg文件,编辑它以将所有文本替换为“HKEY_LOCAL_MACHINE \ SOFTWARE”和“HKEY_CURRENT_USER \ Software”,然后将“HKEY_LOCAL_MACHINE \ SOFTWARE \ Python”重新导入reg文件。 – RufusVS

+0

@RufusVS 相同的解决方案在这里提到:https://github.com/rfk/pyenchant/issues/96 –

+0

@ KaushikAcharya感谢您的!它看起来像那个人复制我的答案! – RufusVS

0

安装Python 3.4时,“将python.exe添加到路径”未被选中。重新安装这个选择并解决问题。

+0

这应该可以作为评论 – Rishabh

+0

@Rishabh:到底是什么?这看起来像是对我的回答(问:'Python未注册?',答:'重新安装时启用此选项')。 –

+0

这也可以注释为'尝试重新安装与选择添加python.exe到路径' – Rishabh

0

我安装了ArcGIS Pro 1.4,它没有注册它安装的Python 3.5.2,这使我无法安装任何附加组件。

reg add "HKLM\Software\Python\PythonCore\3.5\Help\Main Python Documentation" /reg:64 /ve /t REG_SZ /d "C:\Python35\Doc\Python352.chm" 
reg add "HKLM\Software\Python\PythonCore\3.5\InstallPath" /reg:64 /ve /t REG_SZ /d "C:\Python35\" 
reg add "HKLM\Software\Python\PythonCore\3.5\InstallPath\InstallGroup" /reg:64 /ve /t REG_SZ /d "Python 3.5" 
reg add "HKLM\Software\Python\PythonCore\3.5\PythonPath" /reg:64 /ve /t REG_SZ /d "C:\Python35\Lib;C:\Python35\DLLs;C:\Python35\Lib\lib-tk" 

我觉得这是更容易比:我通过使用管理员PowerShell会话“REG”命令来手动创建和填充必要的注册表键/值(:\ Python35其中安装在C Python)的解决了这一使用注册表编辑器,但这完全是个人偏好。

如果您愿意,可以在CMD.EXE会话中执行相同的命令;只要确保你以管理员身份运行它。

4

我在尝试在Windows Server上安装漫游时遇到了同样的问题。我花了一段时间才能找到解决的办法,但是这是对我工作:

  1. 打开命令提示符作为管理员
  2. 拷贝:reg add HKLM\SOFTWARE\Python\PythonCore\2.7\InstallPath /ve /t REG_SZ /d "C:\Python27" /f并针对您的要求。
  3. 右键单击并将定制版本粘贴到命令提示符中并按Enter键!

无论如何,我希望这可以帮助未来的人。

+0

我只是想提到,我有这写的内部文档和说明,并认为我会分享它! –

+0

你能解释一下'reg add'命令中每个标志的含义吗? – clabe45

+1

/VE指定被添加到注册表中的注册表项具有空值 /吨指定注册表项 /d 类型指定新的注册表条目的数据 /F添加注册表项,而不提示确认。 [文章这里](https://technet.microsoft.com/en-us/library/cc742162(v = ws.11).aspx) –