我知道这看起来像是一个被回答了成千上万次的问题,但是关于环境路径的传统答案都不起作用。
我想在Windows 7的Powershell中运行以下命令:
python mycode.py
但是,Powershell返回错误,指出python not recognized as an applet, function, application,...
下面是我的路径变量:
用户变量:
PATH
C:\Python27\Lib\site-packages\PyQt4;
C:\Python27;
C:\Python27\DLLs;
C:\Python27\Scripts;
C:\Python27\Lib\site-packages\vtk;
C:\Python27\gnuplot\binary;
C:\Program Files (x86)\pythonxy\SciTE-3.3.2-3;
C:\Program Files (x86)\pythonxy\console;
C:\MinGW32-xy\bin;
C:\Program Files (x86)\pythonxy\swig;
C:\Program Files (x86)\pythonxy\gettext\bin
PATHEXT
.PY;.PYW
PYTHON_INCLUDE
C:\Python27\include
PYTHON_LIB
C:\Python27\libs\python27.lib
和系统变量:
PATH
C:\Python27\Lib\site-packages\PyQt4;
C:\Python27;
C:\Python27\DLLs;
C:\Python27\Scripts;
C:\Python27\Lib\site-packages\vtk;
C:\Python27\gnuplot\binary;
C:\Program Files (x86)\pythonxy\SciTE-3.3.2-3;
C:\Program Files (x86)\pythonxy\console;
C:\MinGW32-xy\bin;
C:\Program Files (x86)\pythonxy\swig;
C:\Program Files (x86)\pythonxy\gettext\bin;
C:\WINDOWS\system32;
C:\WINDOWS
我尝试了以下方法:
$env:Path = $env:Path + ";C:\Python27\"
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")
没有成功。(当然,我试着启动一个新的Powershell会话,甚至试着重新启动我的PC)
可能是PowerShell没有正确读取路径变量,或者我没有一些权限吗?我很困惑,尤其是知道这在另一个Windows 7安装上工作正常。我注意到键入:
python.exe
...按预期打开Python终端。
编辑:好的,我尝试了下面的test.py代码:
# -*- coding: utf-8 -*-
print "Hello"
input()
python.exe test.py
打开一个新的终端,里面有“Hello”,等待我的输入,但我不希望这样,我希望正常的行为,在PowerShell中打印“Hello”,在PowerShell中显示错误消息等等。
Edit 2:我注意到PowerShell中的“Path”变量由以下代码给出:获取子项环境
不等于W7选项“系统-〉高级系统设置-〉环境变量”中的值。它仅为:
;C:\Python27
就像我之前的命令行[环境]::SetEnvironmentVariable(“路径”,“$env:路径; C:\Python27”)刚写进去了,修这个也没解决我的问题。
2条答案
按热度按时间kyks70gy1#
使用Powershell运行任何可执行文件(不仅仅是Python.exe)都可以使用多种方法,但对我来说最有效的方法是
iex
。我遵循的基本步骤是:
iex
。使用&
说明文件路径中的空格。为了找到可执行文件,我通常使用
get-command
。希望这个有用。
kd3sttzy2#
在“系统-〉高级系统设置-〉环境变量”中添加“C\Python27”到系统变量中解决了我的问题。对我来说,它只存在于用户变量中。