簡體   English   中英

錯誤:沒有名為NLTK Python2.7 Linux的模塊

[英]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.

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