【问题标题】:python not accessible in powershell v3 when opened with Popen使用 Popen 打开时,在 powershell v3 中无法访问 python
【发布时间】:2016-05-15 10:55:07
【问题描述】:

希望这应该很简单。如果我手动打开 PowerShell v3,Python 环境运行良好。我可以检查版本并运行外部脚本等。但是只要我通过 subprocess.Popen 从另一个应用程序的 python 脚本打开 powershell.exe,python 就不会运行; “‘Python’一词不被识别为 cmdlet、函数、脚本文件或可运行程序的名称......等”

我已经反复检查了我的环境路径,python 总体上在系统上运行良好。

有人知道这是什么原因造成的吗?

subprocess.Popen(["powershell.exe", '-ExecutionPolicy', 'RemoteSigned', "path to PS1_script_with python command"])

我的 PS1 文件如下所示:

cd C:\Users\David\Geeknote\geeknote-master\geeknote
python gnsync.py --path "C:\Users\David\Desktop\C4DtoEvernote", --mask "*.nfo", --notebook "Python Logs" 
function Pause{Read-Host 'You have successfully synced your C4D Annotations to Evernote using gnsync.
Please press Enter to continue...' | Out-Null}
Pause{}

【问题讨论】:

    标签: python-2.7 powershell-3.0 cinema-4d


    【解决方案1】:

    似乎(无论出于何种原因)您的$PATH 没有被流程读取或尊重;因此无法找到python

    您可以:

    1. 使用$env:Path = "C:\Python27:C:\Python27\Scripts";设置路径

    2. 使用自定义控制台配置文件(即.ps1 文件)设置路径并使用-PSConsoleFile 传递它。

    3. 最简单的选择,将完整路径传递给命令文件中的 Python 可执行文件 C:\Python27\python.exe gsync.py ...

    我会尝试#3,然后看看你是否需要其他选项。

    根据需要调整路径 - 特别是如果您安装了多个 Python 解释器。

    【讨论】:

    • 谢谢#3 的作品;)感觉有点昏暗我没有想到这一点,但我显然是在用头撞墙。关于#1,那里的语法是完全正确的还是应该有分号?我确实尝试过,但它似乎删除了我之前在那里的一些路径命令。它并没有解决问题。 #2 我还不确定如何实现。
    猜你喜欢
    • 2012-11-10
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 2019-02-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多