插件窝 干货文章 cmd输入python命令无反应的解决方案

cmd输入python命令无反应的解决方案

python path class TOOLS 994    来源:    2024-10-16

cmd输入python命令无反应

首先,你肯定配置了环境变量,也就是在path中添加了python的安装目录,scritpts等。

但cmd中输入python仍然不生效,或者不是预期的python。

原因

windows10+的环境变量中默认在path中添加了:%USERPROFILE%\AppData\Local\Microsoft\WindowsApps 的路径。

这个路径下有一些windows自带的应用,包括python和python3。

只需要将自己的环境变量移动到它的前边即可。

无法在cmd中使用python指令

搭建编译环境,新建一个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的版本号了

总结

以上为个人经验,希望对您有所帮助。