首先,你肯定配置了环境变量,也就是在path中添加了python的安装目录,scritpts等。
但cmd中输入python仍然不生效,或者不是预期的python。
windows10+的环境变量中默认在path中添加了:%USERPROFILE%\AppData\Local\Microsoft\WindowsApps
的路径。
这个路径下有一些windows自带的应用,包括python和python3。
只需要将自己的环境变量移动到它的前边即可。
搭建编译环境,新建一个setup_env.bat的脚本
@echo off @set PYTHON_NAME=python-3.11.3-embed-amd64 @set SCONS_NAME=scons-local-4.5.2 @set THIS_PATH=%~dp0 @set TOOLS_PATH=%THIS_PATH%..\04_Tools @set PY_PATH=%TOOLS_PATH%\%PYTHON_NAME% @set SC_PATH=%TOOLS_PATH%\%SCONS_NAME% @set PATH=%PATH%;%THIS_PATH%;%PY_PATH%;%SC_PATH%; @echo ----------------------------------------------------------------------- @echo %PATH% @echo ----------------------------------------------------------------------- @call python -V @echo ----------------------------------------------------------------------- @call cmd
运行后的结果
可以发现未打印出python的版本
使用where python查看python的地址,此时发现有两个地方存在python.exe
然而在以上的path路径中也存在这两个路径,所以需要将不需要使用的路径去除
即可正常使用python的指令了,为了简单起见,直接将上面显示的路径直接拷贝并删除不需要的路径用于结果的验证。
@echo off @set PYTHON_NAME=python-3.11.3-embed-amd64 @set SCONS_NAME=scons-local-4.5.2 @set THIS_PATH=%~dp0 @set TOOLS_PATH=%THIS_PATH%..\04_Tools @set PY_PATH=%TOOLS_PATH%\%PYTHON_NAME% @set SC_PATH=%TOOLS_PATH%\%SCONS_NAME% @set PATH=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;D:\DevApp\Git\cmd;D:\DevApp\TortoiseGit\bin;D:\DevApp\Microsoft VS Code\bin;C:\Program Files\dotnet\;C:\VXIPNP\WINNT\BIN;C:\VXIPNP\WINNT\TekVISA\BIN;E:\00_Projects\301_WS_Scons\04_Software\06_Dev\02_Build\;E:\00_Projects\301_WS_Scons\04_Software\06_Dev\02_Build\..\04_Tools\python;E:\00_Projects\301_WS_Scons\04_Software\06_Dev\02_Build\..\04_Tools\scons-local-4.5.2; @echo ----------------------------------------------------------------------- @echo %PATH% @echo ----------------------------------------------------------------------- @call python -V @echo ----------------------------------------------------------------------- @call cmd
如下图所示已能正确打印python的版本号了
以上为个人经验,希望对您有所帮助。