vadimcn / codelldb

A native debugger extension for VSCode based on LLDB
https://marketplace.visualstudio.com/items?itemName=vadimcn.vscode-lldb
MIT License
2.43k stars 237 forks source link

Pip install failure, "can't decode" #906

Open oceanusxiv opened 1 year ago

oceanusxiv commented 1 year ago

OS: macOS 13.3 VSCode version: 1.77.2 CodeLLDB version: 1.9.0 Compiler: clang Debuggee: C++ binary

When I open the command prompt via LLDB: Command Prompt and issue the pip install matplotlib command. The install fails with the following error.

DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'global', will try loading '/Library/Application Support/pip/pip.conf'
DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'user', will try loading '/Users/ericfang/.pip/pip.conf'
DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'user', will try loading '/Users/ericfang/.config/pip/pip.conf'
DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'site', will try loading '/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/../pip.conf'
DEBUG(Python) 14:24:47 pip._internal.vcs.versioncontrol: Registered VCS backend: bzr
DEBUG(Python) 14:24:47 pip._internal.vcs.versioncontrol: Registered VCS backend: git
DEBUG(Python) 14:24:47 pip._internal.vcs.versioncontrol: Registered VCS backend: hg
DEBUG(Python) 14:24:47 pip._internal.vcs.versioncontrol: Registered VCS backend: svn
DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'global', will try loading '/Library/Application Support/pip/pip.conf'
DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'user', will try loading '/Users/ericfang/.pip/pip.conf'
DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'user', will try loading '/Users/ericfang/.config/pip/pip.conf'
DEBUG(Python) 14:24:47 pip._internal.configuration: For variant 'site', will try loading '/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/../pip.conf'
ERROR: Exception:
Traceback (most recent call last):
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/site-packages/pip-21.0.1-py3.9.egg/pip/_internal/cli/base_command.py", line 189, in _main
    status = self.run(options, args)
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/site-packages/pip-21.0.1-py3.9.egg/pip/_internal/cli/req_command.py", line 178, in wrapper
    return func(self, options, args)
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/site-packages/pip-21.0.1-py3.9.egg/pip/_internal/commands/install.py", line 240, in run
    options.use_user_site = decide_user_install(
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/site-packages/pip-21.0.1-py3.9.egg/pip/_internal/commands/install.py", line 648, in decide_user_install
    if site_packages_writable(root=root_path, isolated=isolated_mode):
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/site-packages/pip-21.0.1-py3.9.egg/pip/_internal/commands/install.py", line 593, in site_packages_writable
    get_lib_location_guesses(root=root, isolated=isolated))
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/site-packages/pip-21.0.1-py3.9.egg/pip/_internal/commands/install.py", line 584, in get_lib_location_guesses
    scheme = distutils_scheme('', user=user, home=home, root=root,
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/site-packages/pip-21.0.1-py3.9.egg/pip/_internal/locations.py", line 99, in distutils_scheme
    d.parse_config_files()
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/distutils/dist.py", line 406, in parse_config_files
    parser.read(filename)
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/configparser.py", line 697, in read
    self._read(fp, filename)
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/python3.9/configparser.py", line 1017, in _read
    for lineno, line in enumerate(fp, start=1):
  File "/Users/ericfang/.vscode/extensions/vadimcn.vscode-lldb-1.9.0/lldb/lib/../lib/python3.9/encodings/ascii.py", line 26, in decode
    return codecs.ascii_decode(input, self.errors)[0]
UnicodeDecodeError: 'ascii' codec can't decode byte 0xe2 in position 838: ordinal not in range(128)
oceanusxiv commented 5 months ago

It appears that this is a bug in pip 21. See https://github.com/pypa/pip/issues/8931, they actually fixed it in https://github.com/pypa/pip/pull/9684 in 21.2. Any chance we can upgrade the bundled python pip version?