2012-09-14 111 views
0

我試圖將NLTK安裝到我沒有shell訪問權限的服務器上。不過,我可以很好地運行Python代碼。 NLTK的安裝instructions沒有詳細說明我應該如何去做這件事。如果可能,我想將NLTK安裝在/ modules文件夾中,並將未來的模塊保存在同一個文件夾中。我該怎麼辦?謝謝!在沒有shell訪問權限的情況下安裝Python模塊

回答

1

這是一個想法;非常俗氣,但它應該可以工作:

使用python的os.system在shell上通過python執行命令。

在說明中說sudo easy_install pip,在Python這樣做,而不是:

os.system("sudo easy_install pip") 

與雖然這樣做的問題是,它難以提供sudo的密碼。這可以通過作爲sudo用戶運行python來解決(假設你可以這樣做),他們在做os.system("easy_install pip")

此外,this post可能與sudo困難幫助

希望這有助於

+1

他在服務器上運行它。通過這一點,我認爲他的意思就像共享主機。因此'easy_install'不是他需要安裝它的方式,'sudo'根本不可行。 –

+0

我試過了,但我認爲克里斯是對的。當我運行這些命令時,Python只是停止執行代碼,並且沒有新的文件夾出現在我的任何目錄中。我可能會通過臨時調整權限來解決sudo密碼問題,但之後我不知道該去哪裏。 – Gus

1

你不需要sudo訪問獲得一個服務器上運行的NLTK,只需安裝包在自己的空間。首先,我只是嘗試easy_install沒有sudo。但也許沒有easy_install,或者服務器阻止你啓動任意進程 - 我會的。

在這種情況下,請在您家中的箱子的site-packages文件夾中收集所需的模塊。一旦你在那裏工作,你可以把它放到服務器上並調整PYTHONPATH(或從python裏面的sys.path)來找到它。我已經完成了這個,而且非常簡單。如果你可以看到python在服務器上找不到東西時拋出的錯誤,你可以很容易地添加你第一次忘記的包。

相關問題