首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PowerShell启动Python

从PowerShell启动Python
EN

Stack Overflow用户
提问于 2013-11-25 23:44:50
回答 2查看 8.7K关注 0票数 4

我知道这看起来像是一个被回答了数千次的问题,但关于环境路径的传统答案都不起作用。

我想在Windows 7的Powershell中运行以下程序:

代码语言:javascript
复制
python mycode.py

但是,Powershell会返回一个错误,指出python not recognized as an applet, function, application,...

以下是我的路径变量:

用户变量:

代码语言:javascript
复制
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

和系统变量:

代码语言:javascript
复制
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

我尝试了以下几种方法:

代码语言:javascript
复制
$env:Path = $env:Path + ";C:\Python27\"
[Environment]::SetEnvironmentVariable("Path", "$env:Path;C:\Python27", "User")

没有成功。(当然,我尝试启动一个新的Powershell会话,甚至尝试重新启动我的PC)

可能是PowerShell没有正确读取path变量,或者我没有权限?我迷失了方向,尤其是知道这在另一个Windows7安装上也能正常工作。我注意到键入:

代码语言:javascript
复制
python.exe

按照预期对Python终端执行...opens操作。

编辑:好的,我尝试了下面的test.py代码:

代码语言:javascript
复制
# -*- coding: utf-8 -*-
print "Hello"
input()

python.exe test.py

打开一个带有"Hello“的新终端,等待我的输入,但我不希望这样,我期望正常的行为,在PowerShell中打印"Hello”,在PowerShell中显示错误消息,等等。

Edit2 :我注意到Get-ChildItem Env在PowerShell中给出的"Path“变量

与W7选项"System ->高级系统设置->环境变量“中的值不同。它只是:

代码语言:javascript
复制
;C:\Python27

就像我之前的命令行Environment::SetEnvironmentVariable("Path","$env:Path;C:\Python27")一样。解决这个问题也没有解决我的问题。

EN

回答 2

Stack Overflow用户

发布于 2013-11-26 15:16:10

使用iex可以使用多种方法运行任何可执行文件(不仅仅是Python.exe),但对我来说效果最好的是Powershell。

我遵循的基本步骤是:

  • 找到executable
  • Construct命令字符串的路径,并在其上运行iex。使用&说明文件路径中的空格。

为了找到可执行文件,我通常使用get-command。此搜索路径:

代码语言:javascript
复制
    if (get-command curl.exe) {
        $exePath = "curl.exe"
    }

    $Cmd = '"'+ $exePath + '"' + ' args'
    iex "& $curlCmd"

希望这能有所帮助。

票数 0
EN

Stack Overflow用户

发布于 2016-07-21 16:28:57

将"System ->高级系统设置->环境变量“中的"C\Python27”添加到系统变量中解决了我的问题。对我来说,它只存在于用户变量中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20197154

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档