[英]Using Python 3.1 with TextMate
TextMate 似乎使用了我假設的內置 Python 版本(sys.path 不起作用)。 您如何將其配置為使用 3.1? 我已經安裝了 3.1 包,我可以使用 IDLE 進行交互式會話,但我現在需要使用 TextMate。
謝謝
TextMate使用TM_PYTHON
變量的值來查找Python解釋器的路徑。 一個好的解決方案是利用TextMate基於每個項目定義TM_PYTHON
等變量的能力:
打開一個新的或現有的TextMate項目( File -> New Project
或File -> Open
)
取消選擇項目列表側欄中的任何文件。
單擊側欄中的Get Info
( i )圖標。 將出現“ Project Information
窗格。
單擊+以添加新變量。
在Variable字段中輸入TM_PYTHON,在Value字段中輸入所需python的完整路徑(例如, /usr/local/bin/python3.1
usr / local / bin / python3.1)。
關閉“信息”窗口並保存項目(“ File
- >“ Save Project As
)。
然后,您可以根據需要向項目添加文件,它們將使用TextMate Python包的Run Script命令在所選的python下運行。 例如,您可能希望保存Python 3
項目,以便在Python 3下運行臨時腳本。對於更大的項目,您仍然需要為它創建單獨的TextMate項目。
要更改TextMate
全局使用的Python版本:
從TextMate
菜單欄中,打開TextMate
- > Preferences
單擊“ Advanced
窗格
單擊Shell Variable
選項卡
單擊+
以添加新變量
在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 的回答):
4. 在 Terminal.app 我輸入which python3
給了我/usr/local/bin/python3
。
現在,每當我打開 python 腳本並點擊CMD + R
時,默認情況下它將作為pyhton3
腳本執行,同時“尊重”已安裝的 PIP 包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.