Laptop Tweaks
Maybe I will keep track of little tweaks I found useful.
Run python3 -m ensurepip¶
Problem¶
$ python3 -m pip install docker-compose
/home/briecarranza/archivebox/v/bin/python3: No module named pip
(v) briecarranza@lilah:~/archivebox$ which pip
/home/briecarranza/archivebox/v/bin/pip
(v) briecarranza@lilah:~/archivebox$ which pip3
/home/briecarranza/archivebox/v/bin/pip3
$ pip3 install
Traceback (most recent call last):
File "/home/briecarranza/archivebox/v/bin/pip3", line 5, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
$ pip3 install docker-compose
Traceback (most recent call last):
File "/home/briecarranza/archivebox/v/bin/pip3", line 5, in <module>
from pip._internal.cli.main import main
ModuleNotFoundError: No module named 'pip'
$ apt-cache policy python3-pip
python3-pip:
Installed: 20.3.4-4
Candidate: 20.3.4-4
Version table:
*** 20.3.4-4 500
500 http://us.archive.ubuntu.com/ubuntu impish/universe amd64 Packages
500 http://us.archive.ubuntu.com/ubuntu impish/universe i386 Packages
100 /var/lib/dpkg/status
Solution¶
(v) briecarranza@lilah:~/archivebox$ python3 -m ensurepip
Looking in links: /tmp/tmp5mf3ef6h
Processing /tmp/tmp5mf3ef6h/setuptools-44.1.1-py2.py3-none-any.whl
Processing /tmp/tmp5mf3ef6h/pip-20.3.4-py2.py3-none-any.whl
Processing /tmp/tmp5mf3ef6h/pkg_resources-0.0.0-py2.py3-none-any.whl
Installing collected packages: setuptools, pkg-resources, pip
Successfully installed pip-20.3.4 pkg-resources-0.0.0 setuptools-44.1.1
(v) briecarranza@lilah:~/archivebox$ pip3 install docker-compose
Collecting docker-compose
Using cached docker_compose-1.29.2-py2.py3-none-any.whl (114 kB)
Collecting texttable<2,>=0.9.0
Using cached texttable-1.6.4-py2.py3-none-any.whl (10 kB)
Collecting python-dotenv<1,>=0.13.0
Using cached python_dotenv-0.20.0-py3-none-any.whl (17 kB)
Collecting websocket-client<1,>=0.32.0
Using cached websocket_client-0.59.0-py2.py3-none-any.whl (67 kB)
Collecting dockerpty<1,>=0.4.1
Using cached dockerpty-0.4.1-py3-none-any.whl
Collecting distro<2,>=1.5.0
Using cached distro-1.7.0-py3-none-any.whl (20 kB)
Collecting PyYAML<6,>=3.10
Using cached PyYAML-5.4.1-cp39-cp39-manylinux1_x86_64.whl (630 kB)
^CERROR: Operation cancelled by user
After running python3 -m ensurepip, it works.
A different write-up of the same problem:
I love using virtual environments with Python.
With python3-pip installed, I was running into:
ModuleNotFoundError: No module named 'pip'
Like...which pip worked. But pip install whatever complained that pip couldn't be found. Thanks to this SO, I found that python3 -m ensurepip did the trick.
Why?
The documentation for ensurepip says:
The
ensurepippackage provides support for bootstrapping thepipinstaller into an existing Python installation or virtual environment. This bootstrapping approach reflects the fact thatpipis an independent project with its own release cycle, and the latest available stable version is bundled with maintenance and feature releases of the CPython reference interpreter.In most cases, end users of Python shouldn’t need to invoke this module directly (as
pipshould be bootstrapped by default), but it may be needed if installingpipwas skipped when installing Python (or when creating a virtual environment) or after explicitly uninstallingpip.