Search code examples
pythonpowershellvirtualenvwrapper

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

Solution

  • 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.