![](/img/trans.png)
[英]How to install python 3.x alongside with 2.y without root privileges
[英]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
第一種選擇更方便,所以如果服務器沒有pip
或easy_install
,你應該禮貌地要求管理員添加它,向他們解釋好處(他們不會再被單個包的請求打擾)。
您可以通過virtualenv包創建虛擬環境。
這將創建一個文件夾(例如venv
),其中包含Python可執行文件的新副本和新的site-packages
目錄,您可以在其中“安裝”任意數量的包,而無需任何類型的管理訪問。 因此,通過source venv/bin/activate
環境將為Python提供一個相當於安裝這些軟件包的環境。
我知道這適用於SGE集群,但虛擬環境的激活方式可能取決於集群的配置。
您可以嘗試使用以下步驟在您自己的site-packages目錄中的群集上安裝virtualenv
:
從這里下載virtualenv,把它放在你的集群上
使用setup.py
將其安裝到特定的本地目錄以充當您自己的站點包:
python setup.py build python setup.py install --install-base /path/to/local-site-packages
將該目錄添加到PYTHONPATH:
export PYTHONPATH="/path/to/local-site-packages:${PYTHONPATH}"
創建一個virtualenv:
virtualenv venv
您可以通過調用以下方法從任意路徑導入模塊:
sys.path.append()
Python Distribution Anaconda解決了這個問題中討論的許多問題。 Anaconda不需要管理員或root訪問權限,並且可以安裝到您的主目錄。 Anaconda附帶了許多有問題的軟件包(scipy,numpy,sklearn等等)以及conda安裝程序,如果需要額外的軟件包,還需要安裝額外的軟件包。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.