2013-01-31 20 views
0

我想通過'sudo apt-get install python-scitools'來安裝python-scitools。 它提供了以下輸出安裝python-scitools和matplotlib的依賴關係

The following extra packages will be installed: 
python-matplotlib 
Suggested packages: 
python-excelerator python-matplotlib-doc python-traits python-wxgtk2.8octave 
The following NEW packages will be installed: 
python-matplotlib python-scitools 
0 upgraded, 2 newly installed, 0 to remove and 203 not upgraded. 
Need to get 0 B/2,596 kB of archives. 
After this operation, 9,250 kB of additional disk space will be used. 
Do you want to continue [Y/n]? 

的一點是,我已經手動安裝的python-matplotlib(因爲我需要最新版本1.2.0)。

如果我將tp'matplotlib。 路徑'在IPython中,它返回

['/usr/local/lib/python2.7/dist-packages/matplotlib'] 

我的問題是,我怎麼能告訴系統,matplotlib安裝?

正如你所猜測的,我是這個東西的業餘愛好者。

謝謝

+0

你可以使用'checkinstall'來安裝matplotlib以便Ubuntu能夠識別它 - 而不是'python setup.py install'作爲安裝過程中的最後一步使用'sudo checkinstall python setup.py install'。 – theta

+0

你是否得到這個整理? – tacaswell

+0

不幸的是,我耗盡了時間,所以我停止了試圖安裝它。但是,現在可以通過「apt-get」安裝matplotlib 1.2,所以我不再需要它了。我應該將其設置爲「解決」嗎? – manolius

回答

0

手動安裝東西與通過包管理器安裝不會一起玩。你總是可以在之上建立你想要的,但是你不能(輕易地)以其他方式去做。

依賴檢查是apt做反對它的內部數據庫,它正確認爲matplotlib未安裝。這是一個功能,而不是缺陷,因爲它允許打包系統非常快速地確定是否安裝了依賴關係。您可以建立自己的.deb進行安裝,但這可能有點麻煩(因爲它涉及瞭解debian構建系統)。

您可以安裝打包版本,並確保您的手動安裝版本高於系統版本PYTHONPATH。它浪費了一點硬盤空間,但是meh。 (您可以通過setupy.py install --prefix=/path/to/where/ever設置安裝路徑的位置)。

PYTHONPATH是一個環境變量,所以你可以使用一整套方法來設置它。

PYTHONPATH=/your/path:$PYTHONPATH ipython 

將爲一個進程設置變量。您還可以添加

PYTHONPATH=/your/path:$PYTHONPATH 
export PYTHONPATH 

.bashrc(或.bash_profile,我總是得到這兩個混合起來的角色),將獲得每次啓動shell的時候。

如果這樣做不起作用,您可能需要使用matplotlib的打包版本(可能需要刪除當前的安裝)或手動安裝所需的所有設備(取決於matplotlib)。

+0

從個人經驗來說,我從來沒有使用numpy從回購和任何問題來自github的matplotlib的穩定分支。也許我只是幸運? –

+0

@AdamCadien我應該已經更清楚了,手動安裝東西取決於從回購安裝的東西是好的,從回購安裝的東西,取決於你手工安裝的東西,這是問題。 – tacaswell

+0

是非常好的一點,回購將直接與其內部代碼庫相鏈接。事實上,我不知道它有可能指示他們鏈接到本地​​代碼庫,可能是超級用戶的一個很好的問題。 –

0

您是否嘗試過:

sudo apt-get remove python-matplotlib 

要刪除matplotlib通過apt-get的安裝?一旦你這樣做了,你需要確保你的系統能夠找到你手動安裝的matplotlib,但是我懷疑你已經在安裝過程中完成了。

+0

是的,我試過這個,但是> apt-get remove python-matplotlib'也刪除了scitools,所以我在開頭 – manolius