簡體   English   中英

如何安裝沒有root權限的python包?

[英]How to install python packages without root privileges?

我正在使用numpy / scipy / pynest在Mac OS X上進行一些研究計算。為了提高性能,我們從我們的大學租用一個400節點的集群(帶有Linux),以便可以並行完成任務。 問題是我們不允許在集群上安裝任何額外的軟件包(沒有sudo或任何安裝工具),它們只提供原始python本身。

如何在群集上運行我的腳本呢? 有沒有辦法集成模塊(numpy和scipy也有一些我認為編譯的二進制文件),以便它可以解釋和執行而無需安裝包?

您不需要root權限即可在主目錄中安裝軟件包。 您可以使用諸如此類的命令來執行此操作

pip install --user numpy

或來自消息來源

python setup.py install --user

請參閱https://stackoverflow.com/a/7143496/284795


第一種選擇更方便,所以如果服務器沒有pipeasy_install ,你應該禮貌地要求管理員添加它,向他們解釋好處(他們不會再被單個包的請求打擾)。

您可以通過virtualenv包創建虛擬環境。

這將創建一個文件夾(例如venv ),其中包含Python可執行文件的新副本和新的site-packages目錄,您可以在其中“安裝”任意數量的包,而無需任何類型的管理訪問。 因此,通過source venv/bin/activate環境將為Python提供一個相當於安裝這些軟件包的環境。

我知道這適用於SGE集群,但虛擬環境的激活方式可能取決於集群的配置。

您可以嘗試使用以下步驟在您自己的site-packages目錄中的群集上安裝virtualenv

  1. 這里下載virtualenv,把它放在你的集群上

  2. 使用setup.py將其安裝到特定的本地目錄以充當您自己的站點包:

     python setup.py build python setup.py install --install-base /path/to/local-site-packages 
  3. 將該目錄添加到PYTHONPATH:

     export PYTHONPATH="/path/to/local-site-packages:${PYTHONPATH}" 
  4. 創建一個virtualenv:

     virtualenv venv 

您可以通過調用以下方法從任意路徑導入模塊:

sys.path.append()

Python Distribution Anaconda解決了這個問題中討論的許多問題。 Anaconda不需要管理員或root訪問權限,並且可以安裝到您的主目錄。 Anaconda附帶了許多有問題的軟件包(scipy,numpy,sklearn等等)以及conda安裝程序,如果需要額外的軟件包,還需要安裝額外的軟件包。

它可以從https://www.continuum.io/downloads下載

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM