質問: 初歩的な質問ですいません。 Python勉強中の者です。Python3.Xでpip install Scrapyでインストール時にpython3でScrapyをインストール時に以下のようなエラーが出ます。同じ質問で解決した方がいたので参照したのですが、当方には理解できず、、対処方法をご教示下さい!宜しくお願いいたします。 Installing collected packages: Twisted, scrapy Running setup.py install for Twisted ... error Exception: Traceback (most recent call last): File "c:\users\admin\appdata\local\programs\python\python36\lib\site-packages\pip\compat\*init*.py", line 73, in console_to_str return s.decode(sys.*stdout*.encoding) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x83 in position 105: invalid start byte
回答: 記載されたエラーを見る限り、文字コードのデコードに失敗しています。 文字列`s`が`utf-8`である事を期待しているのに、違う文字コードが入っているというエラーです。 推測ですが`s`は文字コードが`cp932`になっているのだと思います。 確認ですが、`defaultencoding`の設定は変更しましたか? Windowsであれば標準は`cp932`のはずです、文字コードを変更する事で一時的には特定パッケージのエラーは回避できますが、他のパッケージでエラーが出てしまう可能性が大きいです。 文字コードを変更したままにするのは、あまり良い方法とは思えません。 しかし、Python3ですので文字コード回りのトラブルはなくなった思ったのですが・・・ pipのバージョンが古い可能性がありますね。 とりあえずpipをアップデートして、それでも解決しない場合は、 であるように`chcp`コマンドでsys.stdoutの文字コードを変換してみてください。 追記 現状のpipでも同様のエラーが出る可能性があります。 pipのissueを追加しておきます、Google翻訳でも十分読めます。 Python3.6以降の話ですが、pipする前に環境変数`PYTHONLEGACYWINDOWSIOENCODING`に文字コードを指定する方法もあるみたいです。 どちらにせよ、いつかのpipアップデートでこの問題は直るかと思います。