pipenv install error UnicodeDecodeError: 'utf8' codec can't decode byte 0xb4 in position

看了https://www.jianshu.com/p/d08a4aa0008e这篇文章后对pipenv跃跃欲试,结果在执行 pipenv install 的时候就报错了.

-> pipenv install
Creating a virtualenv for this project...
Pipfile: F:\Code\AuotSystraceAnalysis\Pipfile
Using c:\python27\python.exe (None) to create virtualenv...
Traceback (most recent call last):
  File "c:\python27\lib\runpy.py", line 174, in _run_module_as_main
    "__main__", fname, loader, pkg_name)
  File "c:\python27\lib\runpy.py", line 72, in _run_code
    exec code in run_globals
  File "C:\Python27\Scripts\pipenv.exe\__main__.py", line 9, in <module>
  File "c:\python27\lib\site-packages\pipenv\vendor\click\core.py", line 764, in __call__
    return self.main(*args, **kwargs)
  File "c:\python27\lib\site-packages\pipenv\vendor\click\core.py", line 717, in main
    rv = self.invoke(ctx)
  File "c:\python27\lib\site-packages\pipenv\vendor\click\core.py", line 1137, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "c:\python27\lib\site-packages\pipenv\vendor\click\core.py", line 956, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "c:\python27\lib\site-packages\pipenv\vendor\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "c:\python27\lib\site-packages\pipenv\vendor\click\decorators.py", line 64, in new_func
    return ctx.invoke(f, obj, *args, **kwargs)
  File "c:\python27\lib\site-packages\pipenv\vendor\click\core.py", line 555, in invoke
    return callback(*args, **kwargs)
  File "c:\python27\lib\site-packages\pipenv\vendor\click\decorators.py", line 17, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "c:\python27\lib\site-packages\pipenv\cli\command.py", line 254, in install
    editable_packages=state.installstate.editables,
  File "c:\python27\lib\site-packages\pipenv\core.py", line 1741, in do_install
    pypi_mirror=pypi_mirror,
  File "c:\python27\lib\site-packages\pipenv\core.py", line 574, in ensure_project
    pypi_mirror=pypi_mirror,
  File "c:\python27\lib\site-packages\pipenv\core.py", line 506, in ensure_virtualenv
    python=python, site_packages=site_packages, pypi_mirror=pypi_mirror
  File "c:\python27\lib\site-packages\pipenv\core.py", line 929, in do_create_virtualenv
    combine_stderr=False, block=True, nospin=True, env=pip_config,
  File "c:\python27\lib\site-packages\pipenv\vendor\vistir\misc.py", line 285, in run
    _env = {fs_encode(k): fs_encode(v) for k, v in os.environ.items()}
  File "c:\python27\lib\site-packages\pipenv\vendor\vistir\misc.py", line 285, in <dictcomp>
    _env = {fs_encode(k): fs_encode(v) for k, v in os.environ.items()}
  File "c:\python27\lib\site-packages\pipenv\vendor\vistir\misc.py", line 397, in to_bytes
    return string.decode("utf-8").encode(encoding, errors)
  File "c:\python27\lib\encodings\utf_8.py", line 16, in decode
    return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xb4 in position 671: invalid start byte
--------------------- 
作者:YunShell 
来源:CSDN 
原文:https://blog.csdn.net/lynnbest/article/details/86356533 
版权声明:本文为博主原创文章,转载请附上博文链接!

错误是从其他博客复制过来的,报错内容是一样的,解决方案却不一样,原博主是修改源码,我这里是想起之前自定义过pip.ini文件来设置国内源,问题就出在这里,我是用win10的记事本来创建的pip.ini文件,总所周知,记事本保存的默认编码就是GBK,这里用VSCODE把这个文件保存为utf-8编码,保存后关闭VSCODE再次执行pipenv install命令即可.(注意pip.ini文件里不要写#注释,否则报错)

不要问我为什么要复制别人的错误,因为我无法复现,我尝试过把pip.ini的编码再改成GBK,结果保存后再打开又会变成utf-8。所以只好复制别人的错误了

添加新评论