Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Install modules with no root privilegies

1 view
Skip to first unread message

Alfons Nonell-Canals

unread,
Nov 24, 2008, 4:24:24 AM11/24/08
to pytho...@python.org
Hello,
Install python modules in a linux computer is really easy, it is because
the module is a package of the distribution or because the python
installation is really easy. But, in both situations, you need root
privilegies.

I would like to know how to install modules only for one user, with no
root privilegies. Do you know if it is possible and easy. I would like
to add that i need some modules only for my user and incly for one
progam.

Thanks in advance!

Alfons.

--
------------
Alfons Nonell-Canals, PhD
Chemogenomics Lab
Research Group on Biomedical Informatics (GRIB) - IMIM/UPF
Barcelona Biomedical Research Park (PRBB)
C/ Doctor Aiguader, 88 - 08003 Barcelona
alfons...@upf.edu - http://cgl.imim.es
Tel. +34933160528

http://alfons.elmeuportal.cat
http://www.selenocisteina.info

Philipp Pagel

unread,
Nov 24, 2008, 4:44:27 AM11/24/08
to
Alfons Nonell-Canals <alfons...@upf.edu> wrote:
> Install python modules in a linux computer is really easy, it is because
> the module is a package of the distribution or because the python
> installation is really easy. But, in both situations, you need root
> privilegies.

> I would like to know how to install modules only for one user, with no
> root privilegies. Do you know if it is possible and easy.

Yes, there is. You can choose among two strategies referred to as "home scheme"
and "prefix scheme" in the "Installing Python Modules" documentation:

http://docs.python.org/install/index.html

Have a look at Section 3 "Alternate installation".

cu
Philipp

--
Dr. Philipp Pagel
Lehrstuhl f. Genomorientierte Bioinformatik
Technische Universität München
http://mips.gsf.de/staff/pagel

Scott David Daniels

unread,
Nov 24, 2008, 2:10:29 PM11/24/08
to
Alfons Nonell-Canals wrote:
> Hello,
> Install python modules in a linux computer is really easy, it is because
> the module is a package of the distribution or because the python
> installation is really easy. But, in both situations, you need root
> privilegies.
>
> I would like to know how to install modules only for one user, with no
> root privilegies. Do you know if it is possible and easy. I would like
> to add that i need some modules only for my user and incly for one
> progam.
>
> Thanks in advance!
>
> Alfons.

As I just replied to another user (thinking I was responding to this
post), as of Python 2.6 / 3.0, if Python is not restricted to system
directories for security reasons (if sys.flags.no_user_site is non-0),
you may make a directory in your home directory to be searched. See
http://docs.python.org/library/site.html
for details on USER_SITE and USER_BASE.

That provides a searched location without having to cook up a custom
PYTHONPATH.

--Scott David Daniels
Scott....@Acm.Org

Diez B. Roggisch

unread,
Nov 24, 2008, 2:11:42 PM11/24/08
to
Philipp Pagel wrote:

> Alfons Nonell-Canals <alfons...@upf.edu> wrote:
>> Install python modules in a linux computer is really easy, it is because
>> the module is a package of the distribution or because the python
>> installation is really easy. But, in both situations, you need root
>> privilegies.
>
>> I would like to know how to install modules only for one user, with no
>> root privilegies. Do you know if it is possible and easy.
>
> Yes, there is. You can choose among two strategies referred to as "home
> scheme" and "prefix scheme" in the "Installing Python Modules"
> documentation:
>
> http://docs.python.org/install/index.html
>
> Have a look at Section 3 "Alternate installation".

That's waaaaaaaaay much more than is actually needed, as thus each user
would end up with a different installation.

Setting the PYTHONPATH-env-variable to a user writable location allows e.g.
easy_install and friends to install into that location. And installing
virtualenv globally, everybody can create a "local"
site-packages-directory.

Diez

Jorgen Grahn

unread,
Nov 28, 2008, 4:50:42 AM11/28/08
to
On Mon, 24 Nov 2008 20:11:42 +0100, Diez B. Roggisch <de...@nospam.web.de> wrote:
> Philipp Pagel wrote:
>
>> Alfons Nonell-Canals <alfons...@upf.edu> wrote:
>>> Install python modules in a linux computer is really easy, it is because
>>> the module is a package of the distribution or because the python
>>> installation is really easy. But, in both situations, you need root
>>> privilegies.
>>
>>> I would like to know how to install modules only for one user, with no
>>> root privilegies. Do you know if it is possible and easy.
>>
>> Yes, there is. You can choose among two strategies referred to as "home
>> scheme" and "prefix scheme" in the "Installing Python Modules"
>> documentation:
>>
>> http://docs.python.org/install/index.html
>>
>> Have a look at Section 3 "Alternate installation".
>
> That's waaaaaaaaay much more than is actually needed, as thus each user
> would end up with a different installation.

The "home scheme", you mean. It seems to me that this is exactly what
the poster wants -- mess with a bunch of modules without having to
consider anyone else's needs.

> Setting the PYTHONPATH-env-variable to a user writable location allows e.g.
> easy_install and friends to install into that location.

Yes, but the users have to trust everyone with write access to that
place. Someone could replace a module with a trojan horse, or simply
with a newer version which isn't compatible, and things would break.

Sometimes this is OK, but sometimes you only trust root and yourself.

> And installing
> virtualenv globally, everybody can create a "local"
> site-packages-directory.

Cannot comment -- I haven't used it.

/Jorgen

--
// Jorgen Grahn <grahn@ Ph'nglui mglw'nafh Cthulhu
\X/ snipabacken.se> R'lyeh wgah'nagl fhtagn!

0 new messages