我發現我的pythonpath環境變量被忽略。我在Ubuntu上使用python 2.6。我在我的.bashrc
如下:Pythonpath仍然被忽略,無法在本地安裝pip
export PTYHONPATH=/my/home/mylibs/lib/python2.6/site-packages/:$PYTHONPATH
然後我安裝使用的numpy
一個新版本:
python setup.py install --prefix=/my/home/mylibs/
,它被正確安裝在本地。但是,當我嘗試安裝依賴新版numpy的其他程序包(也使用setup.py
)時,它們找不到它,因爲默認情況下,加載的numpy是/usr/llib
中的那個,而不是我的PYTHONPATH
中指定的那個。我的PYTHONPATH
得到正確設置,但系統範圍的目錄仍然覆蓋它。
這怎麼解決?我只想在我做import numpy
時訪問我的本地版本numpy
。我看到了與Python 2.4相關的其他帖子,但據我所知它永遠不會解決。另外,我想這樣做,而不是現在安裝pip或virtualenv。看起來應該可以使用--prefix
或--home
選項傳遞給setup.py
,然後更改PYTHONPATH
但這不適用於我...系統寬lib
dirs首先被讀取。
編輯:我嘗試按照建議使用pip
。我有一個系統安裝舊的pip
,不承認--user
(版本0.3)。我試圖升級pip
與pip
本身,但當然失敗,因爲我不能在本地安裝,所以pip install pip --upgrade --user
不是一個選項。我下載了一個新版本的pip
,並在本地安裝在我的主目錄中,但是當我在提示符下鍵入pip
時,仍舊使用全系統舊版本。我看着pip
包,發現runner.py
所以我試圖用它來安裝軟件包:
runner.py install --user numpy --upgrade
這仍然失敗,拒絕權限:
OSError: [Errno 13] Permission denied: '/usr/bin/f2py2.6'
看起來--user
壞了。我也不知道這將如何解決這個事實,即系統寬python使用系統範圍包/usr/lib
...有沒有解決這個問題?似乎現在在Python中安裝本地軟件包幾乎是不可能的。
會發生什麼= 「/路徑/到/一些/其中:$ PYTHONPATH」 蟒蛇-c「進口SYS;打印「\ n」.join(sys.path)'' 您是否首先看到新路徑? – lazy1
使用pip和'--user'選項是解決問題的答案。你爲什麼不想安裝它?另外,您是否在系統範圍的站點包目錄中安裝了numpy? – Keith
爲什麼不使用'sudo apt-get install python-numpy'? – bmu