当前位置: 首页 > 面试题库 >

将Python 3.1与TextMate结合使用

富昕
2023-03-14
问题内容

TextMate似乎使用了我假定的内置Python版本(sys.path不起作用)。您如何配置它以使用3.1?我已经安装了3.1软件包,并且可以将IDLE用于交互式会话,但是现在需要使用TextMate。

谢谢


问题答案:

TextMate使用TM_PYTHON变量的值来查找Python解释器的路径。一个好的解决方案是利用TextMate的能力来定义变量(例如TM_PYTHON基于每个项目):

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

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

  3. 单击边栏中的Get Infoi图标Project Information出现一个窗格。

  4. 单击+添加新变量。

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

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

然后,您可以根据需要将文件添加到项目中,这些文件将通过TextMate
Python捆绑包的“运行脚本”命令在选定的python下运行。例如,您可能想要保存一个Python 3项目,以便在Python
3下运行即席脚本。对于较大的项目,无论如何,您都想为其创建一个单独的TextMate项目。

要更改以下全局使用的Python版本TextMate

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

  2. 点击Advanced窗格

  3. 点击Shell Variable选项卡

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

  5. TM_PYTHONVariable字段中输入,并在字段中输入python的完整路径Value(可能是/usr/local/bin/python3.1

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

更新(2010-10-31):

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

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

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

在许多情况下,您不希望
连接绝对路径,而是通过普通的shellPATH环境变量来管理使用。传统/usr/bin/env上用于此目的。但是,在Windows Server
2003下运行时TextMate,通常不会使用您的Shell配置文件,因此对PATH的任何更改都不会显示在其中,包括可能/usr/local/bin/opt/local/bin您所希望的python3命令所在的位置。为了解决这个问题,您可以将全局PATHshell变量添加或修改为TextMate->
Preferences(请参见上文),其值例如为/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin。然后,您可以使用更通用的shebang行,如下所示:

#!/usr/bin/env python3

(这一切似乎都适用于最新的vanillaTextMate及其Python捆绑包:不保证包含较早版本或其他Python捆绑包。)



 类似资料:
  • 问题内容: 我在SO上发现了其他几个有关JavaMail API和通过SMTP服务器发送邮件的问题,但是没有一个使用TLS安全性进行讨论。我正在尝试使用JavaMail通过我的工作SMTP邮件服务器向我发送状态更新,但是它需要TLS,而且我在网上找不到任何有关如何使用JavaMail访问需要TLS加密的SMTP服务器的示例。有人能帮忙吗? 问题答案: 实际上,我们的产品中确实有一些通知代码,如果有

  • 我已经阅读了一些关于SaaS/PaaS/IaaS的信息,我在想: 如果我提供了一个SaaS应用程序,我的客户能否使用PaaS开发和部署他自己的应用程序,PaaS将使用一些API与我的SaaS应用程序交互?还是我对云服务的理解有误?

  • 问题内容: 谁能给我指出一个完整的示例,而 不是 在App Engine上使用OAuth2和Flask对Google帐户进行身份验证? 我试图让用户授予对Google日历的访问权限,然后使用该访问权限从日历中检索信息并对其进行进一步处理。我还需要存储并稍后刷新OAuth2令牌。 我看过Google的oauth2client库,可以开始检索授权代码了,但是我从那里有点迷失了。通过查看Google的O

  • 问题内容: 我想使用并且在本节中非常基础,我需要一些帮助,并且在网上之前对此主题进行了研究,但是没有令人满意的解决方案。 1-如何FFmpeg通过使用。(我不想使用Ubuntu,请不要建议。) 2-如何通过插入命令? 最后通知:我使用和。 任何建议,将不胜感激。 问题答案: 如果您需要进一步的帮助,请确切说明您要实现的目标以及不起作用的目标… 更新-根据评论: 要在Android上通过命令行使用f

  • 我严格遵循了一个教程,但我似乎无法让它发挥作用。本教程位于IDE的非模块化JavaFX和Intellij部分:https://openjfx.io/openjfx-docs/#install-爪哇 以下是我在尝试运行默认Intellij Idea JavaFX项目时收到的错误消息: 通向jdk-11.0.1和javafx-sdk-11.0.1的路径: C:\Program Files\Java J

  • 我有一个非常简单的场景:测试任何一对长度为10的随机字符串作为参数传递给一个case类对(一个正在测试的自定义字符串)应该是相同的。 但是,当我从sbt运行我只得到这个编译错误: 斯卡拉切克烹饪书中的一个注解说 该错误消息表明,我们的属性检查没有按照布尔逻辑进行评估 我希望内部块最终应该返回布尔值。如果您能指出我在这个实现中理解基于属性的测试或使用Inside trait时缺少什么,我将不胜感激。