2009-08-02 62 views
21

我目前在我的Mac上安裝了多個版本的Python,它附帶了一個版本,我最近從python.org下載的一個版本,用於在本地運行Zope的舊版本Appengine正在使用的版本。這有點亂。任何建議使用一個版本的Python來統治他們?我將如何去刪除舊版本並將我的所有應用程序連接到單個安裝。任何Mac特定的陷阱我應該知道?這是一個愚蠢的想法?OS X上的Python的多個版本Leopard

+0

閱讀此博客文章:http://farmdev.com/thoughts/66/python-3-0-on-mac-os-x-alongside-2-6-2-5-etc-/ – 2009-08-02 17:23:28

回答

20

圍繞多個版本的Python沒有任何內在的錯誤。有時在使用具有版本依賴關係的應用程序時是必需的。可能最大的問題是處理可能因應用程序而異的站點包依賴性。像virtualenv這樣的工具可以幫助那裏。有一件事你應該而不是做的是試圖刪除/系統/庫/框架中的Apple提供的Python並鏈接到/ usr/bin/python。 (請注意近期多個版本here的討論。)

+1

+1在virtualenv。我鏈接到virtualenv主頁。 – 2009-08-02 20:00:11

1

我喜歡這應該每類UNIX操作系統上工作的方法:

創建每個需要一個特定的Python版本的用戶帳戶的應用程序。在每個用戶數中安裝一個用戶本地前綴(如〜/ build/python)的相應python版本,並將〜/ build/bin /添加到用戶的PATH環境變量中。以正確的用戶安裝/使用您的python應用程序。

這種方法的優點是單獨的python安裝和相對方便的正確python環境選擇之間的完美隔離(只需su適當的用戶)。操作系統也保持不變。

9

Ian Bicking的virtualenv允許我爲每個應用程序構建獨立的Pythons,並讓我決定是否將全局站點包包含在獨立的Python環境中。

我還沒有Zope中嘗試過,但我猜測,下面應該很好地工作:

  1. 使用您的Zope的Python中,創建一個新的virtualenv,有或者沒有--no現場-packages
  2. 放下你的Zope進入virtualenv中
  3. 在VENV $ /斌/ Python的激活與$ VENV/bin中的環境/激活
  4. 安裝任何需要的站點包
  5. 使用Python運行你的Zope現在

這對於管理帶有各種版本的Python,Django和加載項的Django項目非常出色。

This article似乎更詳細地介紹了Grok和Virtualenv的具體情況,但其概括性應該適用於Zope。

2

+1爲virtualenv。

即使您不需要不同的Python版本,仍然可以將您的開發依賴與您的系統Python分開。

我不確定你使用的是什麼操作系統,但是我發現these指令對於獲取運行在OSX上的python開發環境非常有用。