问题发现
有一天突发奇想想试试windows最新的gcc环境
各种搜索之下安装了msys2并在ucrt64中安装了mingw-w64套件,并将bin路径加入环境变量
之后某天发现pyenv管理的python环境无效,输入python --version
后显示的版本为Python 3.11.9
并非我原本设置的3.10.10
同时检查pyenv中并没有安装更新的版本,推测是ucrt64中也存在python,影响了环境变量
问题解决
预期的解决目标是,pyenv和msys2都保留,并且使用pyenv管理msys2中的python
首先,找到pyenv的python版本文件夹C:\Users\52563.pyenv\pyenv-win\versions
可以看到该位置已经有一个3.10.10的文件夹
使用powershell在该文件夹位置创建一个软链接,将ucrt64的bin文件夹软链接到pyenv的versions文件夹
New-Item -ItemType SymbolicLink -Path C:\Users\52563\.pyenv\pyenv-win\versions -Name ucrt64 -Target C:\environments\msys64\ucrt64\bin
同时,在环境变量中,将ucrt64的变量移动到pyenv下方
之后,在powershell中输入pyenv versions
,可以发现两个版本3.10.10和ucrt64
使用global切换版本检查python --version
均正常,gcc -v
正常