2016-05-12 114 views
1

Iam在沒有root權限的服務器上工作,重啓後似乎我的路徑變量被銷燬。由於Iam不允許使用virtualenv,我使用pip安裝 - 用戶包來安裝python軟件包。Ubuntu無法識別.local python路徑

由於重啓,我只能使用過時的庫在/usr/lib/python2.7/dist-packages,但不/.local/lib/python2.7/site-packages

我也不能在終端的.local路徑中使用scrapy或spyder等軟件包。我已經設置了export PYTHONPATH = $ PYTHONPATH:/ .local/lib/python2.7/site-packages,但沒有任何更改。

.local如果我在python中運行print(sys.path),路徑也不會顯示。

我必須改變其他路徑嗎?

操作系統是Ubuntu 14.04。

預先感謝您。

+0

我有同樣的問題。但對我而言,IPython仍然會得到正確的'sys.path'並導入安裝在'.local/lib/python2.7/site-packages'中的模塊。這個問題提到[這裏](https://stackoverflow.com/questions/23209192/ipython-sys-path-different-from-python-sys-path)但它仍然不能解釋爲什麼突然python決定使用錯誤的網站包... – PlasmaBinturong

回答

0

請嘗試以下方法:

whereis python 

的Python總是使用它找到的第一個包。在系統之後,PYTHONPATH被附加到sys.path。所以它通常會首先找到系統。但是,「官方」每用戶軟件包目錄似乎在此之前。因此,建立您的個人站點包目錄:

mkdir -p $HOME/.local/lib64/python2.7/site-packages 
mkdir $HOME/bin 

(您可能需要更改「lib64下」到「LIB32」或只是「LIB」)

該目錄將存放在系統中的一個在我的系統上。但是你應該通過打印sys.path來驗證它。

然後安裝你的軟件包到那裏。但是,最新的pip版本中的--user選項應該已經放在那裏。

作爲列表度假村,您可以操縱sys.path。您可以在系統站點包之前將您的目錄插入到sys.path中。

您可以通過其他選項在$ HOME/bin目錄中安裝腳本。

安裝這樣的:

pip install --user --install-option="--install-scripts=$HOME/bin" 
+0

感謝您的快速響應。這顯示了Python路徑,但.local路徑不在那裏。我想知道,如何將pip用戶路徑添加到python路徑(我已經嘗試修改$ PYTHONPATH) – Norovis