Installing pip packages to $HOME folder
Is it possible? When installing
pip, install the python packages inside my
$HOME folder. (for example, I want to install
pip, but inside
$HOME instead of
I'm with a mac machine and just thought about this possibility, instead of "polluting" my
/usr/local, I would use my
PEP370 is exactly about this. Is just creating a
˜/.local and do a
pip install package enough to make these packages to be installed only at my $HOME folder?
While you can use a
virtualenv, you don't need to. The trick is passing the PEP370
--user argument to the
setup.py script. With the latest version of
pip, one way to do it is:
pip install --user mercurial
This should result in the
hg script being installed in
$HOME/.local/bin/hg and the rest of the hg package in
Note, that the above is true for Python 2.6. There has been a bit of controversy among the Python core developers about what is the appropriate directory location on Mac OS X for PEP370-style
user installations. In Python 2.7 and 3.2, the location on Mac OS X was changed from
$HOME/Library/Python. This might change in a future release. But, for now, on 2.7 (and 3.2, if
hg were supported on Python 3), the above locations will be
Read more... Read less...
I would use virtualenv at your HOME directory.
$ sudo easy_install -U virtualenv $ cd ~ $ virtualenv . $ bin/pip ...
You could then also alter
~/.(login|profile|bash_profile), whichever is right for your shell to add ~/bin to your PATH and then that
pip|python|easy_install would be the one used by default.
You can specify the
-t option (
--target) to specify the destination directory. See
pip install --help for detailed information. This is the command you need:
pip install -t path_to_your_home package-name
for example, for installing say mxnet, in my
$HOME directory, I type:
pip install -t /home/foivos/ mxnet