Python版本: 2.7
Windows 版本:Windows 7 64 位
系统语言:俄语
我有一个问题尚未在互联网上解决。
这是我的代码:
import textblob
text = "I love people"
text = TextBlob(text)
print text.sentiment
我收到与该nltk
方法相关的以下错误:
Traceback (most recent call last):
File "C:\Users\Александр\Desktop\TextBlob.py", line 1, in <module>
import textblob
File "C:\Python27\lib\site-packages\textblob\__init__.py", line 9, in <module>
from .blob import TextBlob, Word, Sentence, Blobber, WordList
File "C:\Python27\lib\site-packages\textblob\blob.py", line 28, in <module>
import nltk
File "C:\Python27\lib\site-packages\nltk\__init__.py", line 128, in <module>
from nltk.chunk import *
File "C:\Python27\lib\site-packages\nltk\chunk\__init__.py", line 155, in <module>
from nltk.data import load
File "C:\Python27\lib\site-packages\nltk\data.py", line 77, 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 0xc0 in position 9: ordinal not in range(128)
据我从谷歌和 Stackoverflow 的回答中了解到,这个问题与ntpath.py
.
我尝试了以下问题,但没有奏效:
使用
sys.setdefaultencoding('utf8')
如何修复:“UnicodeDecodeError:‘ascii’编解码器无法解码字节”使用
sys.setdefaultencoding('Cp1252')
它消除了错误。但是,我的程序的输出也消失了。使用
import io
. Python(nltk) - UnicodeDecodeError:'ascii'编解码器无法解码字节使用
unicode().decode()
inntpath.py
(我不记得找到此解决方案的链接)。
UPD:我找到了解决方案。
我试图将此部分插入ntpath.py
:
reload(sys)
sys.setdefaultencoding('Cp1252')
所以,这里是这个文件中的部分代码:
import os
import sys
import stat
import genericpath
import warnings
#another way
reload(sys)
sys.setdefaultencoding('Cp1252')
它完美地工作。如果您的系统设置中有另一种语言,请与它们“玩”并替换Cp1252
.