2016-09-29 99 views
0

我的系統是具有python 2.6.9的SLES 11.4。 我對python知之甚少,還沒有找到下載rpm的地方,它給我所需要的python軟件包。
我獲得了numpy 1.4和1.11,我相信python setup.py build成功了python setup.py install numpy。 從內存中去,我認爲下/usr/local/lib64/python2.6/...在linux中手動構建安裝python包以便識別它們

下一個我試圖建立&安裝matplotlib(需要numpy的)這個安裝,當我做python setup.py build它禮貌地迴應找不到numpy的。所以我的問題是

我需要設置某種類型的python相關環境變量,沿着LD_LIBRARY_PATH或PATH的行嗎?

隨着我越來越多地使用python安裝軟件包,我必須從源代碼構建,我需要了解當前哪些東西是每個python的默認安裝,新的東西應該去哪裏以及python的核心設置是瞭解如何以及在哪裏認識新的軟件包。

回答

0

如果您使用的是linux,請確保您的$PYTHONPATH環境變量設置正確。

爲此類型的終端如下:

echo $PYTHONPATH 

如果你不能找到它,你可以手動設置變量,你想這樣做在你的~/.bashrc文件中查找模塊的位置以下(與您選擇的編輯器,我選擇的gedit爲例):

sudo gedit ~/.bashrc 

而且當你做不忘記

source ~/.bashrc 
+0

我很困惑;我沒有默認設置的PYTHONPATH變量。然而python仍然可以工作,默認情況下在'/ usr/lib64/python2.6/site-packages /'中安裝了numpy 1.80。當輸入'python'來啓動環境時,我可以做'import numpy'然後加上'numpy.test()',它報告需要鼻子> = 0.10.0。但是當我嘗試通過'python setup.py build'構建matplotlib 0.99.1時,我不確定它是否會發現numpy。它報告的是'numpy 1.8.0找不到numpy頭文件,你可能需要安裝開發包。'我原以爲那些會在那裏。 – ron

+0

試試'sudo apt-get install python-dev' – user3543300

+0

我沒有'apt-get'。但是python-dev是通過SLES SDK和setuptools安裝的。 – ron

0

想我想通了。顯然,SLES 11.4在其numpy 1.8的SDK中的默認安裝中不包含開發頭文件。 當然,他們不提供matplotlib以及一堆常見的python包。

每個SLES SDK的python軟件包都是系統默認位於/usr/lib64/python2.6/site-packages/下,它在這裏我看到numpy版本1.8。因此,如果您選擇各種python軟件包,則使用YAST軟件管理器,這是他們所在的位置。

至此,沒有PYTHONPATH環境變量集我可以啓動python,鍵入import numpy,並在大多數情況下使用它。但是,如果我嘗試構建matplotlib 0.99.1,它會迴應它無法找到numpy版本1.8的頭文件,因此它知道numpy 1.8已安裝,但需要安裝開發包。

假設通過開發標題他們意味着.h文件, 如果我搜索/usr/lib64/python2.6/site-packages我沒有任何文件的.h文件!

我剛剛下載了numpy-1.8.0.tar的源代碼。GZ,輕鬆地做了python setup.py.build其次python setup.py install,發現它在/usr/local/lib64/python2.6/site-packages/

安裝沒有PYTHONPATH環境變量設置,如果我嘗試建立matplotlib我仍然得到錯誤有關的頭文件未找到。

但在我的bash shell中,以根用戶身份,我做export PYTHONPATH=/usr/local/lib64/python2.6/site-packages後,我才能成功地完成編譯和安裝matplotlib 0.99.1也會安裝/usr/local/lib64/python2.6/site-packages

註釋:

我也只是做了一個成功的建立&安裝numpy-1.11,然後拋出/usr/local/lib64/python2.6/site-packages然而,當我嘗試然後建立matplotlib 0.99.1與PYTHONPATH設置它直接報告numpy沒有安裝版本1.1或更高是必要的。所以在這裏看起來這個老版本的matplotlib需要使用某種版本的numpy版本,最新的numpy 1.11版本是不兼容的。

而我唯一的系統設置的其他環境變量是PYTHONSTARTUP它指向文件/etc/pythonstart

相關問題