sivanes sivanes - 3 months ago 25
PowerShell Question

Set-ItemProperty message when importing virtualenvwrapper

Here is the message that I get. For what it's worth, I opened my registry and noticed that there is no

2.7
folder,
PythonCore
leads straight into
InstallPath
. Any ideas?

Set-ItemProperty : Cannot find path 'HKCU:\Software\Python\PythonCore\2.7\InstallPath' because it does not exist.
At C:\Users\...\Documents\WindowsPowerShell\Modules\virtualenvwrapper\win.psm1:127 char:21
+ set-itemproperty <<<< -path "HKCU:/Software/Python/PythonCore/$pyVer/InstallPath" -name "(default)" -value $pyBa
se
+ CategoryInfo : ObjectNotFound: (HKCU:\Software\...2.7\InstallPath:String) [Set-ItemProperty], ItemNotFo
undException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetItemPropertyCommand

Set-ItemProperty : Cannot find path 'HKCU:\Software\Python\PythonCore\2.7\PythonPath' because it does not exist.
At C:\Users\...\Documents\WindowsPowerShell\Modules\virtualenvwrapper\win.psm1:128 char:21
+ set-itemproperty <<<< -path "HKCU:/Software/Python/PythonCore/$pyVer/PythonPath" -name "(default)" -value "$pyBa
se\Lib;$pyBase\DLLs;$pyBase\Lib\lib-tk"
+ CategoryInfo : ObjectNotFound: (HKCU:\Software\...\2.7\PythonPath:String) [Set-ItemProperty], ItemNotFo
undException
+ FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetItemPropertyCommand

Answer

I had the Same issue, googled around and managed to solve the solution. here's what I came across.

Python appears to update the registry under HKEY_CURRENT_USER and some install look for python under HKEY_LOCAL_MACHINE.

Useful Sources I came across

So assuming your python installation is at C:\python27

From this Restoring Your Python Registry in Windows article -

  1. Copied from lines 17 - 21,

    [HKEY_CURRENT_USER\Software\Python\Pythoncore\2.7\InstallPath]
    @="C:\python27"

    [HKEY_CURRENT_USER\Software\Python\Pythoncore\2.7\PythonPath] @="C:\python27;C:\python27\Lib\;C:\python27\DLLs\"

  2. Paste them to a text file.
  3. Rename it to fix_python.reg or anything you wish :)
  4. Double-click the file, and follow the prompts to load the new values into the Windows Registry.
May not be the best way. But it worked fine for me.

Hope it helps.

Comments