簡體   English   中英

將 Python 3.1 與 TextMate 一起使用

[英]Using Python 3.1 with TextMate

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. 在Variable字段中輸入TM_PYTHON,在Value字段中輸入所需python的完整路徑(例如, /usr/local/bin/python3.1 usr / local / bin / python3.1)。

  6. 關閉“信息”窗口並保存項目(“ File - >“ Save Project As )。

然后,您可以根據需要向項目添加文件,它們將使用TextMate Python包的Run Script命令在所選的python下運行。 例如,您可能希望保存Python 3項目,以便在Python 3下運行臨時腳本。對於更大的項目,您仍然需要為它創建單獨的TextMate項目。

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

  1. TextMate菜單欄中,打開TextMate - > Preferences

  2. 單擊“ Advanced窗格

  3. 單擊Shell Variable選項卡

  4. 單擊+以添加新變量

  5. Variable字段中輸入TM_PYTHON ,在Value字段中輸入python的完整路徑(可能是/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包。)

晚了,對不起! 我認為你想使用TextMate的“內置”解釋器運行腳本? 我發現最簡單的解決方案是添加一個非常好的shebang;

#!/usr/bin/env python3

對於python 3.1或;

#!/usr/bin/env python

對於默認的系統python,雖然后者對於練習來說是多余的。

根據這個長線程 (關於Python 3.0,以及去年春天存在的TextMate版本,但我相信它仍然適用於Python 3.1和今天的TextMate),你可以完成它(例如通過@Ned的回答),但是一次你做很多TextMate命令可能會破壞(因為它們被編寫為使用Python 2,並且Python 3不向后兼容Python 2 - 例如,在Python 3中消失的reload的使用在線)。 盡管如此,如果你不使用或需要很多TextMate的功能,它可能會起作用(例如,當你使TextMate使用Python 3而不是Python 2時,LaTeX排版被提及為完全破壞的東西)。

shebang是最好的解決方案,看看在終端中安裝python 3的位置:

哪個python3

你會得到這樣的東西:

在/ usr / local / bin目錄/ python3

如果沒有顯示第一次安裝python3

並在腳本的頂部插入:

#!的/ usr / local / bin目錄/ python3

我想在 TextMate 版本2.0.23中實現這一點,目的是使用python3作為默認值。

所以這就是我可以設置TM_PYTHON變量的方式(基於上面@Ned Deily 的回答):

  1. 打開 Textmate
  2. 點擊CMD + ; 打開設置
    在此處輸入圖像描述
  3. 現在添加一個帶有+號的新變量

4. 在 Terminal.app 我輸入which python3給了我/usr/local/bin/python3

現在,每當我打開 python 腳本並點擊CMD + R時,默認情況下它將作為pyhton3腳本執行,同時“尊重”已安裝的 PIP 包。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM