2010-06-28 99 views
1

我有一個帶雪豹的MacBook Pro,以及標準的Python 2.6發行版。 Numpy無法正常工作。 Loadtxt給出的文件名錯誤太長,並且getfromtxt根本不起作用(模塊錯誤中沒有對象)。所以然後我嘗試在MacPorts上下載py26-numpy端口。當然,當我使用python時,它默認mac分配。我如何將其切換爲使用MacPorts中最新最好的。這似乎比構建我需要的所有工具更簡單...開關蟒蛇的分佈

謝謝!

+0

也許與http://www.superuser.com更相關 – MikeD 2010-06-28 16:54:27

回答

4

首先,將MacPorts路徑(/opt/local/bin)添加到您的$PATH。在.bashrc(或其他外殼配置文件使用):

export PATH="/opt/local/bin:${PATH}" 

如果你有Python中的多個版本通過MacPorts的安裝,和/或要容易的MacPorts和蘋果分佈之間切換,可以安裝python_select端口以及。

還要注意的是Python 2.6中的MacPorts的版本安裝到/opt/local/bin/python2.6,所以用這個解釋,你必須做的三兩件事之一:

  1. 開始使用該解釋python2.6(不只是python )。
  2. 設置shell別名,以便python調用python2.6alias python=python2.6)。
  3. 手動設置從/opt/local/bin/python/opt/local/bin/python2.6的符號鏈接。
  4. 使用python_select通過調用python來設置使用的Python。

選項#3或#4可能是最好的選擇。

+0

MacPorts路徑位於我的$ PATH中。當我在shell中調用python時,它會打開與我的mac一起安裝的解釋器,所以我認爲這是它在我運行腳本時使用的分佈...?謝謝您的幫助! – lollygagger 2010-06-28 16:57:48

+0

在'$ PATH'的*前面*(或者至少在/ usr/bin之前)是'/ opt/local/bin'? – mipadi 2010-06-28 16:58:44

+0

啊 - 我想這是因爲MacPorts的Python被安裝爲'/ opt/local/bin/python2.6'。我更新了我的答案以反映這一啓示。 – mipadi 2010-06-28 17:17:31

1

您需要更新PATH以便MacPorts的內容位於標準系統目錄之前,例如export PATH=/opt/local/bin:/opt/local/sbin:/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin/:$PATH

更新:需要特別注意的事實是/opt/local/Library/Frameworks/Python.framework/Versions/Current/bin在您的舊PATH值前面的

0

現有的答案是非常有用的,但我注意到他們都沒有說明如何製作變化棒。如果你不熟悉unix命令行,這可能很重要。

首先,說明:在基於Unix的操作系統中,shell中的重要配置信息存儲在稱爲環境變量的東西中。名爲PATH的環境變量將您的shell指向要查找程序的位置列表。當你輸入一個命令時,它從PATH變量的最左端開始,並在你試圖運行的程序的那個文件夾中查找。如果它發現它,它就運行它;否則它看起來在下一個文件夾中。如果安裝了相同程序的多個版本,則可以使用PATH變量來提供一個優先級。

要利用這一點,把文件夾與閃亮的新版本在路徑的前面,就像這樣:

PATH=/opt/local/bin:/usr/bin:/usr/local/bin 

要在你的shell的一個版本的變化,您可以鍵入

export PATH=/opt/local/bin:/usr/bin:/usr/local/bin 

要在每個打開的shell中進行更改,您需要指示shell在每次啓動時設置此變量。有一個名爲.bashrc的文件,另一個名爲.bash_profile的文件說明bash在啓動時會讀取它。 .bashrc文件通常用於包含所有shell的說明,.bash_profile僅用於包含交互式shell的說明。因此,爲了使這種變化棍子,您可以編輯/Users/yourname/.bashrc包括這樣一行:

export PATH="/opt/local/bin:$PATH" 

什麼,做的是增加/opt/local/bin到PATH變量的前面,同時保留路徑的其餘部分。如果此更改似乎不起作用,則需要確保.bashrc通過將source $HOME/.bashrc添加到您的.bash_profile腳本中或通過將必要的行移動到.bash_profile來調用。