After a Python upgrade, to install Python 3.8, tox, pip, venv doesn't work. I applied this , step 01 to 07 and after that I did:
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
I made a mistake on the first line, so I fixed it with
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
And now I've this
~ python --version
Python 2.7.16
~ python3 --version
Python 3.8.2
After that I tried these command:
➜ ~ /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.
Do you have any ideas? Should I reinstall my OS to avoid wasting my time?
OS: Debian Buster
Have you executed $ sudo update-alternatives --config python
as well?
You can have multiple python version installed. The best way is to use virtual environment, with specifying from which python version you are stemming from. Just as in your reference article:
python3.8 -m venv my_app_venv
and then source the env:
source my_app_venv/bin/activate
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.