windows使用pipenv创建虚拟环境报错UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 4: in...

Traceback (most recent call last):
  File "c:\python37-32\lib\runpy.py", line 193, in _run_module_as_main
    "__main__", mod_spec)
  File "c:\python37-32\lib\runpy.py", line 85, in _run_code
    exec(code, run_globals)
  File "C:\Python37-32\Scripts\pipenv.exe\__main__.py", line 5, in <module>
  File "c:\python37-32\lib\site-packages\pipenv\__init__.py", line 23, in <module>
    from .cli import cli
  File "c:\python37-32\lib\site-packages\pipenv\cli\__init__.py", line 3, in <module>
    from .command import cli
  File "c:\python37-32\lib\site-packages\pipenv\cli\command.py", line 7, in <module>
    import crayons
  File "c:\python37-32\lib\site-packages\pipenv\patched\crayons.py", line 49, in <module>
    is_powershell = "powershell" in shellingham.detect_shell()[0]
  File "c:\python37-32\lib\site-packages\pipenv\vendor\shellingham\__init__.py", line 22, in detect_shell
    shell = get_shell(pid, max_depth=max_depth)
  File "c:\python37-32\lib\site-packages\pipenv\vendor\shellingham\nt.py", line 100, in get_shell
    processes = dict(_iter_process())
  File "c:\python37-32\lib\site-packages\pipenv\vendor\shellingham\nt.py", line 78, in _iter_process
    info = {'executable': str(pe.szExeFile.decode('utf-8'))}
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 4: invalid continuation byte

原因:

因为windows默认GBK编码,所以报错

解决方法:

最正确的解决方式不清楚,我的解决方式是修改源码,亲测有效:
将你报错位置的(报错位置在你的错误信息里)
str(pe.szExeFile.decode('utf-8')
改为
str(pe.szExeFile.decode('gbk')

然后就解决了,不喜勿喷,有更好的解决办法请分享~


成功启动
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容