【问题标题】:Python: how to access 3.3 if 3.4 is the default?Python:如果默认为 3.4,如何访问 3.3?
【发布时间】:2014-09-08 23:38:20
【问题描述】:

运行 Windows 7。已安装 2.7、3.3 和 3.4。

我刚刚为最近的一个项目安装了 Python 3.3。在命令提示符下,python 启动 3.4,py 启动 3.3。我可以使用 3.3 版本的 IDLE 访问 3.3,但是如何通过命令提示符访问它? 我可以使用像py 这样的快捷方式吗?我需要像别名一样自己定义它吗? 还是以某种方式将路径更改为暂时将 3.3 设为默认值的最佳途径?

刚刚下载了 virtualenv,也许这可能是解决方案的一部分。

【问题讨论】:

    标签: python python-3.x path


    【解决方案1】:

    如果你想用一个版本打开一个文件,你可以用 #! 开始文件。 python3.x x 是你想要的版本。如果您希望能够右键单击并使用该版本进行编辑,则需要在注册表中进行一些调整

    【讨论】:

    • 这是一个有用的提示,所以每当你执行filename.py 时,命令提示符都会读取那个shebang 来决定如何运行它?另外,“在注册表中调整”是什么意思?
    • 是的,只要你不在路径中的文件名之前放置 python,那么文件就会被 windows 文件夹中的 py.exe 或 pyw.exe 打开,这决定了运行它的版本,在没有该行(称为 shebang)的情况下,它会被传递到最旧的版本(我的经验),如果您打开注册表并打开 hkey 类,您将找到 python.file 的条目和 python.noconfile 的另一个条目,这些每个都有用于 shell 的子键,其中包含另一个用于使用空闲编辑的键和执行此操作的命令,通过添加新键,您可以创建自己的选项来使用该版本
    • 你也可以从命令行显式执行py -3.3 filename.py
    【解决方案2】:

    为了让您可以从命令提示符运行不同版本的 Python,请进入 C:\Python33C:\Python34 并复制驻留在那里的 python.exe。将副本分别重命名为python33.exepython34.exe,然后就可以运行了

    python33 file.py
    

    python34 file.py
    

    在命令提示符下,您可以放心使用正确的版本。我还将在C:\Python27 中复制python.exe 并将其命名为python2.exe,以便您可以在需要时指定该版本,如果您不记得@987654332 中Python 目录的搜索顺序@环境变量。

    【讨论】:

    • 我复制了 python.exe,将副本粘贴到同一 python33 目录中,并将新副本重命名为 python33.exe。但是当我在命令提示符下执行python33 时,我得到:'python33' is not recognized as an internal or external command, operable program or batch file.
    • @joshsvoss 确保您重新启动命令提示符,并确保没有任何拼写错误出现在任何地方。另外,您确定C:\Python33 在您的PATH 中吗?输入echo %PATH% 以查找。
    • 你说得对,我只是将C:\Python33;C:\Python33\Scripts; 添加到了路径中,因为2.7 和3.4 的路径中也都有\Scripts 文件夹。有什么理由将最初命名的python.exe 留在那里?它是否会导致其他两个 python.exe 文件出现命名空间问题?
    • @joshsvoss 是的,您需要将它们留在那里,因为其他程序可能依赖于它们。如果您只是从命令提示符运行python,您将不会遇到任何命名空间问题,它只会运行它在您的PATH 中看到的第一个python.exe。所以,如果你想要一个默认值,把那个目录放在PATH的前面。
    • 这种方法已被 Python 3.3+ 淘汰,它引入了适用于 Windows 的 Python 启动器(请参阅 legacy.python.org/dev/peps/pep-0397)。 Python 版本不应添加到路径中。如果您想显式执行此操作,则应调用py 而不是python(如果您想要特定版本,请调用py -3.3 myscript.py 而不是python33 myscript.py)。或者直接调用py myscript.py 并将#!python3.3 放在脚本的第一行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-04-07
    • 2015-10-06
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 2012-11-25
    • 1970-01-01
    相关资源
    最近更新 更多