想我想通了。顯然,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
。
來源
2016-09-29 19:49:29
ron
我很困惑;我沒有默認設置的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
試試'sudo apt-get install python-dev' – user3543300
我沒有'apt-get'。但是python-dev是通過SLES SDK和setuptools安裝的。 – ron