【问题标题】:How do I add Python 3.3 to Powershell?如何将 Python 3.3 添加到 Powershell?
【发布时间】:2013-12-20 06:44:24
【问题描述】:

嘿,我一直在尝试通过将路径中的 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.7的目录还在路径上吗?
  • 到底出了什么问题?你拼错了“Environment”,每行两次。

标签: python powershell path version python-3.3


【解决方案1】:

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 并注册扩展,PyLauncher 将成为 .py 文件的默认程序,并且在脚本顶部添加特殊的 #! 注释将指定用于脚本的 Python 版本.这允许您在桌面上拥有 Python 2 和 Python 3 文件,只需双击它们即可为该脚本运行正确版本的 Python。

Python 3 docs 中查看Python Launcher for Windows

【讨论】:

    【解决方案2】:

    从左到右搜索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")
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-20
      • 1970-01-01
      • 1970-01-01
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多