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)
据我从Google和Stackoverflow的回答中了解到,问题与ntpath.py
的语言问题有关。
我尝试了以下问题,但它们无效:
使用sys.setdefaultencoding('utf8')
How to fix: "UnicodeDecodeError: 'ascii' codec can't decode byte"
使用sys.setdefaultencoding('Cp1252')
它消除了错误。但是,我的程序输出也消失了。
使用import io
。 Python (nltk) - UnicodeDecodeError: 'ascii' codec can't decode byte
在unicode().decode()
中使用ntpath.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
。
答案 0 :(得分:1)
我找到了解决方案。
我尝试将此部分插入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
。