我无法在 Windows7 中的 Python 中导入 NLTK
I can not import NLTK in Python in Windows7
系统: Windows 7 64位
软件: python-2.7.10.msi,nltk-3.0.4.win32.exe
问题描述:
我今天用我的桌面安装Python2.7.10(32位版本),然后安装nltk 3.0.4。 Python的路径设置正确:
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.path
['', 'C:\Python27\Lib\idlelib', 'C:\Python27\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27', 'C:\Python27\lib\site-packages']
>>>
然后我在 Shell 中尝试 import nltk
,然后我得到这个:
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import nltk
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import nltk
File "C:\Python27\lib\site-packages\nltk\__init__.py", line 128, in <module>
from nltk.align import *
File "C:\Python27\lib\site-packages\nltk\align\__init__.py", line 18, in <module>
from nltk.align.bleu_score import bleu
File "C:\Python27\lib\site-packages\nltk\align\bleu_score.py", line 15, in <module>
from nltk.tokenize import word_tokenize
File "C:\Python27\lib\site-packages\nltk\tokenize\__init__.py", line 62, in <module>
from nltk.data import load
File "C:\Python27\lib\site-packages\nltk\data.py", line 76, in <module>
if 'APPENGINE_RUNTIME' not in os.environ and os.path.expanduser('~/') != '~/':
File "C:\Python27\lib\ntpath.py", line 311, in expanduser
return userhome + path[i:]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 9: ordinal not in range(128)
>>>
我尝试了几种方法:1)使用不同的版本,例如Python2.6和nltk 3.0.0,但没有解决。 2)使用官方网站的补丁,不工作。
HOWEVER,当我使用我的笔记本电脑(Win7 64bit)时,使用相同版本的Python和nltk,一切正常!我不知道原因。那么谁能告诉我为什么会这样?
我通过更改非 Unicode 程序的操作系统区域设置解决了这个问题:
- 转到控制面板
- 点击“时钟、语言和地区”
- 点击“区域和语言选项”
- 进入“管理”选项卡
- 显示当前系统区域设置(对于非 Unicode),要更改它请单击“更改系统区域设置”
- 那就选英文吧!重启后,大功告成!
系统: Windows 7 64位
软件: python-2.7.10.msi,nltk-3.0.4.win32.exe
问题描述:
我今天用我的桌面安装Python2.7.10(32位版本),然后安装nltk 3.0.4。 Python的路径设置正确:
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import sys
>>> sys.path
['', 'C:\Python27\Lib\idlelib', 'C:\Python27\python27.zip', 'C:\Python27\DLLs', 'C:\Python27\lib', 'C:\Python27\lib\plat-win', 'C:\Python27\lib\lib-tk', 'C:\Python27', 'C:\Python27\lib\site-packages']
>>>
然后我在 Shell 中尝试 import nltk
,然后我得到这个:
Python 2.7.10 (default, May 23 2015, 09:40:32) [MSC v.1500 32 bit (Intel)] on win32
Type "copyright", "credits" or "license()" for more information.
>>> import nltk
Traceback (most recent call last):
File "<pyshell#0>", line 1, in <module>
import nltk
File "C:\Python27\lib\site-packages\nltk\__init__.py", line 128, in <module>
from nltk.align import *
File "C:\Python27\lib\site-packages\nltk\align\__init__.py", line 18, in <module>
from nltk.align.bleu_score import bleu
File "C:\Python27\lib\site-packages\nltk\align\bleu_score.py", line 15, in <module>
from nltk.tokenize import word_tokenize
File "C:\Python27\lib\site-packages\nltk\tokenize\__init__.py", line 62, in <module>
from nltk.data import load
File "C:\Python27\lib\site-packages\nltk\data.py", line 76, in <module>
if 'APPENGINE_RUNTIME' not in os.environ and os.path.expanduser('~/') != '~/':
File "C:\Python27\lib\ntpath.py", line 311, in expanduser
return userhome + path[i:]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xb0 in position 9: ordinal not in range(128)
>>>
我尝试了几种方法:1)使用不同的版本,例如Python2.6和nltk 3.0.0,但没有解决。 2)使用官方网站的补丁,不工作。
HOWEVER,当我使用我的笔记本电脑(Win7 64bit)时,使用相同版本的Python和nltk,一切正常!我不知道原因。那么谁能告诉我为什么会这样?
我通过更改非 Unicode 程序的操作系统区域设置解决了这个问题:
- 转到控制面板
- 点击“时钟、语言和地区”
- 点击“区域和语言选项”
- 进入“管理”选项卡
- 显示当前系统区域设置(对于非 Unicode),要更改它请单击“更改系统区域设置”
- 那就选英文吧!重启后,大功告成!