将 Python 3.1 与 TextMate 结合使用

新手上路,请多包涵

TextMate 似乎使用了我假设的内置 Python 版本(sys.path 不起作用)。您如何将其配置为使用 3.1?我已经安装了 3.1 包,我可以使用 IDLE 进行交互式会话,但我现在需要使用 TextMate。

谢谢

原文由 eozzy 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 544
2 个回答

TextMate 使用 TM_PYTHON 变量的值来查找 Python 解释器的路径。一个好的解决方案是利用 TextMate 在每个项目的基础上定义诸如 TM_PYTHON 之类的变量的能力:

  1. 打开一个新的或现有的 TextMate 项目( File -> New ProjectFile -> Open

  2. 取消选择项目列表侧栏中的任何文件。

  3. 单击边栏中的 Get Info ( i ) 图标。出现 Project Information 窗格。

  4. 单击 + 添加新变量。

  5. 在 Variable 字段中输入 TM_PYTHON,并在 Value 字段中输入所需 python 的完整路径(例如 /usr/local/bin/python3.1 )。

  6. 关闭信息窗口并保存项目( File -> Save Project As )。

然后您可以根据需要将文件添加到项目中,它们将使用 TextMate Python 包的运行脚本命令在所选的 python 下运行。您可能想要保存一个 Python 3 项目,例如,用于在 Python 3 下运行临时脚本。对于更大的项目,无论如何您都需要为其创建一个单独的 TextMate 项目。

要更改 TextMate 中全局使用的 Python 版本:

  1. TextMate 菜单栏,打开 TextMate -> Preferences

  2. 单击 Advanced 窗格

  3. 单击 Shell Variable 选项卡

  4. 单击 + 添加一个新变量

  5. enter TM_PYTHON in the Variable field and the full path to the python in the Value field (perhaps /usr/local/bin/python3.1 )

正如 Alex 指出的那样,您可能会通过全局更改 Python 版本来破坏其他 TextMate 功能,因此每个项目的更改可能是更好的解决方案。

更新(2010-10-31):

对于某些项目,还有另一种方法可能更容易使用。 TextMate 的 Python 包中的 Run 命令似乎尊重正在运行的文件中的 shebang 行。因此,无需修改 TM_PYTHON ,您可以通过包含如下第一行来指定要使用的解释器的路径:

 #!/usr/local/bin/python3.1

# sample code to show version
import sys
print(sys.version_info)

在许多情况下,您不希望 连接绝对路径,而是通过普通 shell PATH 环境变量来管理使用。传统上 /usr/bin/env 用于该目的。但是,当在 TextMate 下运行时,通常不会使用您的 shell 配置文件,因此对 PATH 的任何更改都不会显示在那里,包括可能 /usr/local/bin/opt/local/bin 无论您在哪里所需的 python3 命令位于。为了解决这个问题,您可以添加或修改全局 PATH shell 变量 TextMate -> Preferences /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin 。然后你可以像这样使用更通用的 shebang 行:

 #!/usr/bin/env python3

(这一切似乎都适用于最新的 vanilla TextMate 及其 Python 包:不保证早期版本或其他 Python 包。)

原文由 Ned Deily 发布,翻译遵循 CC BY-SA 2.5 许可协议

派对迟到了,抱歉!我认为您想使用 TextMate 的“内置”解释器运行脚本?我发现最简单的解决方案是添加一个 shebang,效果非常好;

 #!/usr/bin/env python3

对于 python 3.1 或;

 #!/usr/bin/env python

对于默认系统 python,尽管后者对于练习来说是多余的。

原文由 Simon Banyard 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题