How to install a module for all users with pip on linux?
You might have a wrong umask
set as discussed here
From your last edit, I guess you umask
is set to 027
. Try to do
sudo pip uninstall loremipsum
umask 022
sudo pip install loremipsum
For Ubuntu 18.04 try sudo -H pip install loremipsum
.
-H
is the short form of --set-home
:
-H, --set-home
Request that the security policy set the HOME environment variable
to the home directory specified by the target user's password
database entry. Depending on the policy, this may be the default
behavior.
In other words, this executes the sudo
command with the HOME environment var set to root's home.
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 su
cd ~
umask 022
pip install what-you-like
Note: umask 022
command/row could be optional..., usually umask is already 022, that is the default one.