[英]Error: No Module Named NLTK Python2.7 Linux
我在Linux Red Hat服務器上,正在嘗試啟動python腳本。 我安裝了nltk,但是當我啟動腳本時出現以下錯誤:
ImportError: No module named nltk
這是我的其他python安裝:
[~/Documents] >which python python2 python3
/bin/python
/bin/python2
但是,nltk安裝在以下位置:
/usr/lib/python2.7/site-packages
我不想更改路徑變量,因為我不是唯一使用此服務器的人,我還能做些什么來克服此問題? 我應該在哪里安裝nltk?
謝謝!
編輯:
我用sudo pip install nltk添加了NLTK
[~/Documents] >which pip pip2 pip3
/bin/pip
/bin/pip2
pip3: Command not found.
我自己的路:
[~/Documents] >echo $PATH
/usr/local/java/java/bin:/bin:/usr/bin:
$ PYTHONPATH不存在,我無法僅使用pip進行安裝
為了獲得許可,我認為只有root才能讀取/寫入nltk文件:
ls -l
drwxr-x---. 23 root root 4096 Nov 23 12:24 nltk
drwxr-x---. 2 root root 4096 Nov 23 12:24 nltk-3.2.1-py2.7.egg-info
您可以添加到python腳本的開頭
import sys; sys.path.append('/usr/lib/python2.7/site-packages')
編輯1:
這必須解決上面的方法不起作用:
import sys
sys.path.insert(0, '/usr/lib/python2.7/site-packages')
編輯2:
僅在腳本運行時更改linux中的路徑
from subprocess import call
call('export PYTHONPATH='/usr/lib/python2.7/':$PYTHONPATH,shell=True)
或者您可以直接調用該模塊
<nltk.pth>
/usr/lib/python2.7/dist-packages
目錄中的所有python模塊或軟件包現在都可以導入。
編輯3:
經過一些研究,也許還有另一種方法
首先,您需要使用以下命令將目錄附加到您的路徑
import sys; sys.path.append('/usr/lib/python2.7/site-packages')
您將需要importlib
from importlib import import_module
然后,您可以像這樣導入模塊:
mod = import_module('nltk')
要獲取子模塊,您可以這樣做:
module_you_want = getattr(mod,'module_you_want')
而已!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.