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')
:「UnicodeDecodeError: 'ascii' コーデックはバイトをデコードできません」それを使用
sys.setdefaultencoding('Cp1252')
すると、エラーが解消されました。ただし、私のプログラムの出力も消えました。を使用し
import io
ます。Python (nltk) - UnicodeDecodeError: 'ascii' コーデックはバイトをデコードできませんinを使用
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
ください。