Open wlei2021 opened 1 year ago
I recently tripped over this too. My system was showing Python 3.7 in a number of places including in Windows '_Add or Remove Programs'. This pointed to the Anconda3 installation, which was 2023-07. I've updated and/or done a fresh install of the Anaconda distribution a number of times since Python 3.7.
The uninstall entry for Python 3.7 tries to run the uninstaller for the current Anaconda installation.
The entries for the Python Launcher py
give misleading info.
AFAICT there doesn't seem to be a way to get the Anaconda installer to recreate the Windows Registry keys for PEP-0514 without uninstalling and reinstalling.
Checklist
Impacted product
What happened?
Install an older Miniconda (e.g. Product version 4.5.12 and this will install Python version 3.7) After Miniconda installation completed, do the following: 1) Check the Python "SysVersion" in windows registry: Registry path: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Python\ContinuumAnalytics\Anaconda37-64 SysVersion shows 3.7 2) update Python to a newer version, e.g. Python 3.10.9, using the following command: conda install python=3.10.9 When python 3.10.9 installation completed, check the Python "SysVersion" in windows registry again: Registry path: Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Python\ContinuumAnalytics\Anaconda37-64 SysVersion still shows 3.7 which is not correct.
According to https://peps.python.org/pep-0514/, "SysVersion" should show the correct Python Version which in the above case (#2) should be 3.10.
Reference from https://peps.python.org/pep-0514/: "If a string value named SysVersion exists, it must be in x.y or x.y.z format matching the version returned by sys.version_info in the interpreter. If omitted, the Python version is unknown. (For PythonCore, the default is the first three characters of the Tag.) If a string value named SysArchitecture exists, it must match the first element of the tuple returned by platform.architecture(). Typically, this will be “32bit” or “64bit”. If omitted, the architecture is unknown. (For PythonCore, the architecture is “32bit” when registered under HKEY_LOCAL_MACHINE\Software\Wow6432Node\Python or anywhere on a 32-bit operating system, “64bit” when registered under HKEY_LOCAL_MACHINE\Software\Python on a 64-bit machine, and unknown when registered under HKEY_CURRENT_USER.) Note that each of these values is recommended, but optional. Omitting SysVersion or SysArchitecture may prevent some tools from correctly supporting the environment. A complete example may look like this: HKEY_CURRENTUSER\Software\Python\ExampleCorp\examplepy (Default) = (value not set) DisplayName = "Example Py Distro 3" SupportUrl = http://www.example.com/distro-3 Version = "3.0.12345.0" SysVersion = "3.6.0" SysArchitecture = "64bit" "
Expected behavior or outcome
According to https://peps.python.org/pep-0514/, "SysVersion" should show the correct Python Version which in the above case (#2) should be 3.10.
Conda info
Conda config
Conda list
Additional information