How to install a module for all users with pip on linux?
With Ubuntu 18.04, using the command sudo pip install stuff-name
does not suffice, in my case, in order to install the modules in the global path (it keeps looking at the local-user python path).
Solution in my case
I have changed to the root user, and changed directory to its home. Then pip
installation worked like expected and installs modules in the global path.
In detail I followed the nowox answer with a minor change (sudo su
, changes to the root user), also see final note about umask 022
:
sudo sucd ~umask 022pip install what-you-like
Note: umask 022
command/row could be optional..., usually umask is already 022, that is the default one.
Use the --target
option when calling pip
pip install --target=/your/pyinstalldir loremipsum
The target directory must be a location writable by your user.
Note that this requires the regular user environment has the target directory present in the sys.path
. One possible way to achieve that is by using the PYTHONPATH
env var:
# /etc/profile.d/myenvvars.shexport PYTHONPATH=/your/pyinstalldir