Anaconda:UnicodeDecodeError

3009 ワード

Win 10の下にAnaconda for python 2をインストールします.7,Anaconda Promptの起動時に次のエラーが発生しました.
Traceback (most recent call last): File "C:\ProgramData\Anaconda2\Scripts\conda-script.py ", line 5, in sys.exit(conda.cli.main()) File "C:\ProgramData\Anaconda2\lib\site-packages\conda\cli\main.py", line 176, in main return handle_exception(e) File "C:\ProgramData\Anaconda2\lib\site-packages\conda\exceptions.py", line 626, in handle_exception print_unexpected_error_message(e) File "C:\ProgramData\Anaconda2\lib\site-packages\conda\exceptions.py", line 588, in print_unexpected_error_message stderrlogger.info(get_main_info_str(get_info_dict())) File "C:\ProgramData\Anaconda2\lib\site-packages\conda\cli\main_info.py", line 162, in get_info_dict from ..connection import user_agent File "C:\ProgramData\Anaconda2\lib\site-packages\conda\connection.py", line 12, in from requests import Session, version as REQUESTS_VERSION File "C:\ProgramData\Anaconda2\lib\site-packages\requests_init.py", line 52, in from .packages.urllib3.contrib import pyopenssl File "C:\ProgramData\Anaconda2\lib\site-packages\requests\packages\urllib3\contrib\pyopenssl.py", line 47, in from cryptography import x509 File "C:\ProgramData\Anaconda2\lib\site-packages\cryptography\x509_init.py", line 7, in from cryptography.x509.base import ( File "C:\ProgramData\Anaconda2\lib\site-packages\cryptography\x509\base.py", line 16, in from cryptography.x509.extensions import Extension, ExtensionType File "C:\ProgramData\Anaconda2\lib\site-packages\cryptography\x509\extensions.py", line 14, in from asn1crypto.keys import PublicKeyInfo File "C:\ProgramData\Anaconda2\lib\site-packages\asn1crypto\keys.py", line 22, in from ._elliptic_curve import ( File "C:\ProgramData\Anaconda2\lib\site-packages\asn1crypto_elliptic_curve.py", line 51, in from ._int import inverse_mod File "C:\ProgramData\Anaconda2\lib\site-packages\asn1crypto_int.py", line 56, in from ._perf._big_num_ctypes import libcrypto File "C:\ProgramData\Anaconda2\lib\site-packages\asn1crypto_perf_big_num_ctypes.py", line 31, in libcrypto_path = find_library('crypto') File "C:\ProgramData\Anaconda2\lib\ctypes\util.py", line 53, in find_library fname = os.path.join(directory, name) File "C:\ProgramData\Anaconda2\libtpath.py", line 85, in join result_path = result_path + p_path UnicodeDecodeError: 'ascii' codec can't decode byte 0xa3 in position 0: ordinal not in range(128)
最後のエラーメッセージから見ると、復号化が間違っています.解決策は、エラーが報告された最初の行から対応するファイルを見つけます:conda-script.py(conda env listを実行中に類似のエラーが発生しましたが、エラーを報告したファイルはconda-env-script.pyになり、ソリューションは同じです)に変更し、その内容を次のように変更します.
if __name__ == '__main__':
    import sys
    if sys.getdefaultencoding() != 'gbk':  
        reload(sys)  
        sys.setdefaultencoding('gbk')      
    import conda.cli
    sys.exit(conda.cli.main())