如何将Python 3.3添加到Powershell?

时间:2013-12-03 23:56:48

标签: python powershell path version python-3.3

嘿,我一直试图通过在路径中重新配置27和33来将Python 3.3添加到Windows PowerShell中。

我试图发布截图但事实证明我需要10个代表,所以我只会复制并粘贴我尝试的内容:

[Enviroment]::SetEnviromentVariable("Path", "$env:Path;C:\Python33", "User")

>

[Enviroment]::SetEnviromentVariable("Path", "$env:Path;C:\Python33")

>

[Enviroment]::SetEnviromentVariable("Path", "$env:Path;C:\Python33\python.exe", "User")

>

[Enviroment]::SetEnviromentVariable("Path", "$env:Path;C:\Python33;C:\Python33\Scripts", "User")

>

[Enviroment]::SetEnviromentVariable("Path", "$env:Path;C:\Python33\", "User")

python.exe所在文件夹的路径是:C:\ Python33

某个地方我做错了什么但不知道在哪里。 帮助一个人进入编程领域?

感谢。

2 个答案:

答案 0 :(得分:8)

Python 3.3附带了PyLauncher(py.exe),它安装在C:\ Windows目录中(已在路径上),并允许通过命令行执行任何已安装的Python,如下所示:

Windows PowerShell
Copyright (C) 2009 Microsoft Corporation. All rights reserved.

PS C:\> py
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:19:30) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z

PS C:\> py -2
Python 2.7.6 (default, Nov 10 2013, 19:24:18) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> ^Z

PS C:\> py -3
Python 3.3.3 (v3.3.3:c3896275c0f6, Nov 18 2013, 21:19:30) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

请注意,如果安装了2.X和3.X,则默认Python为2.X(在更高版本的Python中为3.X),但可以使用-3开关或默认值覆盖此值通过设置PY_PYTHON环境变量来更改。

此外,如果您安装Python 3.3 last并注册扩展,PyLauncher将是.py文件的默认程序,并在脚本顶部添加一个特殊的#!注释将指定要用于的Python版本剧本。这允许您在桌面上安装Python 2和Python 3文件,只需双击它们即可为该脚本运行正确版本的Python。

请参阅Python Launcher for Windows中的Python 3 docs

答案 1 :(得分:0)

从左到右搜索windows环境变量path。如果2.7二进制文件的路径仍在变量中,它将永远不会找到3.3二进制文件,其路径将附加到路径变量的末尾。

此外,您没有添加PowerShell的路径。 Windows python二进制文件是PowerShell认为遗留的可执行文件。你正在做的是告诉操作系统可执行二进制文件的位置。 PowerShell知道如何使用该信息来执行那些没有绝对路径的二进制文件。 要在Powershell做你想做的事,试试这样的事情

$env:Path = ((($env:Path -split ";") | Where-Object { $_ -notlike "*Python*"}) -join ";") + ";C:\Python33"

要使其持续存在,请执行下一步

[Environment]::SetEnvironmentVariable("Path",$env:Path, "User")