[英]Pip broken after upgrade. Cannot unsinstall or upgrade Pip or Python
[英]pip and tox are broken after python upgrade
Python 升級后,要安裝 Python 3.8,tox,pip,venv 不起作用。 我應用了這個,步驟 01 到 07,然后我做了:
sudo update-alternatives --install /usr/bin/python python /usr/local/bin/python3.8 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.8 1
我在第一行犯了一個錯誤,所以我用
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
現在我有了這個
~ python --version
Python 2.7.16
~ python3 --version
Python 3.8.2
之后我嘗試了這些命令:
➜ ~ /usr/local/bin/python3.8 -m venv $HOME/test
Error: Command '['/home/sguiho/test/bin/python3.8', '-Im', 'ensurepip', '--upgrade', '--default-pip']' returned non-zero exit status 2.
➜ ~ python -m pip install tox
Exception:
Traceback (most recent call last):
File "/usr/lib/python2.7/dist-packages/pip/_internal/cli/base_command.py", line 143, in main
status = self.run(options, args)
File "/usr/lib/python2.7/dist-packages/pip/_internal/commands/install.py", line 279, in run
with self._build_session(options) as session:
File "/usr/lib/python2.7/dist-packages/pip/_internal/cli/base_command.py", line 79, in _build_session
insecure_hosts=options.trusted_hosts,
File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 337, in __init__
self.headers["User-Agent"] = user_agent()
File "/usr/lib/python2.7/dist-packages/pip/_internal/download.py", line 100, in user_agent
zip(["name", "version", "id"], distro.linux_distribution()),
File "/usr/share/python-wheels/distro-1.3.0-py2.py3-none-any.whl/distro.py", line 120, in linux_distribution
return _distro.linux_distribution(full_distribution_name)
File "/usr/share/python-wheels/distro-1.3.0-py2.py3-none-any.whl/distro.py", line 675, in linux_distribution
self.version(),
File "/usr/share/python-wheels/distro-1.3.0-py2.py3-none-any.whl/distro.py", line 735, in version
self.lsb_release_attr('release'),
File "/usr/share/python-wheels/distro-1.3.0-py2.py3-none-any.whl/distro.py", line 892, in lsb_release_attr
return self._lsb_release_info.get(attribute, '')
File "/usr/share/python-wheels/distro-1.3.0-py2.py3-none-any.whl/distro.py", line 550, in __get__
ret = obj.__dict__[self._fname] = self._f(obj)
File "/usr/share/python-wheels/distro-1.3.0-py2.py3-none-any.whl/distro.py", line 998, in _lsb_release_info
stdout = subprocess.check_output(cmd, stderr=devnull)
File "/usr/lib/python2.7/subprocess.py", line 223, in check_output
raise CalledProcessError(retcode, cmd, output=output)
CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1
➜ ~ python3 -m pip install tox
ERROR: Exception:
Traceback (most recent call last):
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 188, in main
status = self.run(options, args)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 286, in run
with self._build_session(options) as session:
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 101, in _build_session
session = PipSession(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/download.py", line 559, in __init__
self.headers["User-Agent"] = user_agent()
File "/usr/local/lib/python3.8/site-packages/pip/_internal/download.py", line 144, in user_agent
zip(["name", "version", "id"], distro.linux_distribution()),
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 122, in linux_distribution
return _distro.linux_distribution(full_distribution_name)
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 677, in linux_distribution
self.version(),
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 737, in version
self.lsb_release_attr('release'),
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 899, in lsb_release_attr
return self._lsb_release_info.get(attribute, '')
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 552, in __get__
ret = obj.__dict__[self._fname] = self._f(obj)
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 1012, in _lsb_release_info
stdout = subprocess.check_output(cmd, stderr=devnull)
File "/usr/local/lib/python3.8/subprocess.py", line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/local/lib/python3.8/subprocess.py", line 512, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
Traceback (most recent call last):
File "/usr/local/lib/python3.8/runpy.py", line 193, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.8/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.8/site-packages/pip/__main__.py", line 19, in <module>
sys.exit(_main())
File "/usr/local/lib/python3.8/site-packages/pip/_internal/__init__.py", line 77, in main
return command.main(cmd_args)
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 234, in main
session = self._build_session(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 101, in _build_session
session = PipSession(
File "/usr/local/lib/python3.8/site-packages/pip/_internal/download.py", line 559, in __init__
self.headers["User-Agent"] = user_agent()
File "/usr/local/lib/python3.8/site-packages/pip/_internal/download.py", line 144, in user_agent
zip(["name", "version", "id"], distro.linux_distribution()),
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 122, in linux_distribution
return _distro.linux_distribution(full_distribution_name)
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 677, in linux_distribution
self.version(),
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 737, in version
self.lsb_release_attr('release'),
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 899, in lsb_release_attr
return self._lsb_release_info.get(attribute, '')
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 552, in __get__
ret = obj.__dict__[self._fname] = self._f(obj)
File "/usr/local/lib/python3.8/site-packages/pip/_vendor/distro.py", line 1012, in _lsb_release_info
stdout = subprocess.check_output(cmd, stderr=devnull)
File "/usr/local/lib/python3.8/subprocess.py", line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/local/lib/python3.8/subprocess.py", line 512, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '('lsb_release', '-a')' returned non-zero exit status 1.
你有什么想法? 我應該重新安裝我的操作系統以避免浪費我的時間嗎?
操作系統:Debian 巴斯特
您是否也執行過$ sudo update-alternatives --config python
?
您可以安裝多個 python 版本。 最好的方法是使用虛擬環境,並指定您來自哪個 python 版本。 就像您的參考文章中一樣:
python3.8 -m venv my_app_venv
然后獲取環境:
source my_app_venv/bin/activate
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.