PIP
https://pypi.org/project/pip/PyPi or pip is the Packager Installer for Python and it's a great tool to quickly install and manage python tools.
Since PIP behaves like a package manager and will mess up with your Linux installation, Gentoo folks have devised a cool way to let you use pip for anything that is not already packaged into Portage, Gentoo packaging system.
The basic idea is: you do not use pip as root, ever, but you use pip as user to install specific packages and tools locally to the user without messing up with other users or the system itself.
All you need to do is emerge pip:
emerge pip
and enable pip usage for specific users.
Enabling PIP per user
Create a file called ~/.config/pip/pip.conf in your user home folder. You will need to create the sub-folders, probably.
The content of the file must be:
- pip.conf
[global] break-system-packages = true user = true
and that's it! Now pip and specifically pip install will work just fine for your user. Do not do this for user root.
Virtual Environments
V'envs are pretty common using PIP, to create a venv with your user type:
su - user python -m venv my_venv source my_venv/bin/activate
You might want to put at the end of your ~/bashrc:
source ~/my_venv/bin/activate
for automatic loading of venv variables.
Also, PIP will most probably require you to modify your venv setting. Open ~/my_venv/pyvenv.cfg and set include-system-site-packages = true, like this:
include-system-site-packages = true
And, last, you most probably want to add ~/.local/bin to your path, by adding at the end of your user .bashrc the following line:
export PATH=$PATH:~/.local/bin