web-dev-qa-db-ja.com

「ascii」コーデックは、pipを使用してuwsgiをインストールするときにエラーをデコードできません

私はこのチュートリアルに従ってuwsgiを設定しています: https://uwsgi.readthedocs.org/en/latest/tutorials/Django_and_nginx.html 。走る pip install uwsgi virtualenv内ですが、次のように問題が発生します。

Command /home/timyitong/superleagues/bin/python -c "import setuptools;__file__='/home/timyitong/superleagues/build/uwsgi/setup.py';exec(compile(open(__file__).read().replace('\r\n', '\n'), __file__, 'exec'))" install --record /tmp/pip-Z9h8Jn-record/install-record.txt --single-version-externally-managed --install-headers /home/timyitong/superleagues/include/site/python2.6 failed with error code 1 in /home/timyitong/superleagues/build/uwsgi
Traceback (most recent call last):
  File "/home/timyitong/superleagues/bin/pip", line 9, in <module>
    load_entry_point('pip==1.4', 'console_scripts', 'pip')()
  File "/home/timyitong/superleagues/lib/python2.6/site-packages/pip/__init__.py", line 148, in main
    return command.main(args[1:], options)
  File "/home/timyitong/superleagues/lib/python2.6/site-packages/pip/basecommand.py", line 169, in main
    text = '\n'.join(complete_log)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 54: ordinal not in range(128)

デコードの問題のようですが、どうすれば解決できますか?私のシステム環境は:

Ubuntu 10.04
Django==1.5.1
South==0.8.1
distribute==0.7.3
wsgiref==0.1.2

注意:この問題への回答は、動作環境によって異なる場合があります。 Twilのコメントは実際にOS Xでの私の問題を解決しました。

11
Yitong Zhou

それは一年前に尋ねられた質問ですか?私はグーグルでここに来ました。私と同じように、質問者は中国人です。したがって、おそらく同じ問題に直面するでしょう。あら、英語が下手でごめんなさい!

私は正しい答えを見つけました!

これは、Pythonがいくつかのパッケージをインストールするときに、Windowsレジストリをチェックし、Aliwangwangなどの一部の中国語ソフトウェアがHKEY_CLASSES_ROOTに「gbk」値をインポートするためです。したがって、Python動作しません。

次のように解決できます。

c:\ Python27\Lib\mimetypes.pyをメモ帳++またはその他のエディターで開き、 "default_encoding = sys.getdefaultencoding()"という行を検索します。次のように上記の行にコードを追加します。

if sys.getdefaultencoding() != 'gbk':
    reload(sys)
    sys.setdefaultencoding('gbk')
    default_encoding = sys.getdefaultencoding()
17
hugleecool

最初のlibevent-develとpython-develをインストールしてみてください

yum install libevent-devel python-devel

そしてインストール

pip install uwsgi
16
leela

python-devがインストールされていることを確認してください

4
Lordn__n

私も同じ問題を抱えていました。私の場合、上記の提案に加えて、私は実行しなければなりませんでした:

Sudo apt-get install build-essential
4
TheDimLebowski

hugleecoolのソリューションは優れています。これを解決する別の方法は、コントロールパネルを見つけて、システムの非Unicodeプログラムの言語を変更することです。

中国語のシステムの場合、デフォルト値は中国語です。英語に変更すれば、同様のデコード問題がすべて解決されます。

0
Yang_2333