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

Permanently adding to the Python path in Ubuntu

63 views
Skip to first unread message

Chris Colbert

unread,
Aug 29, 2009, 8:39:31 PM8/29/09
to pytho...@python.org
I'm having an issue with sys.path on Ubuntu. I want some of my home
built packages to overshadow the system packages. Namely, I have built
numpy 1.3.0 from source with atlas support, and I need it to
overshadow the system numpy 1.2.1 which I had to drag along as a
dependency for other stuff. I have numpy 1.3.0 installed into
/usr/local/lib/python2.6/dist-packages/. The issue is that this
directory is added to the path after the
/usr/lib/python2.6/dist-packages/ is added, so python doesnt see my
version of numpy.

I have been combating this with a line in my .bashrc file:

export PYTHONPATH=/usr/local/lib/python2.6/dist-packages

So when I start python from the shell, everything works fine.

Problems show up when python is not executed from the shell, and thus
the path variable is never exported. This can occur when I have
launcher in the gnome panel or i'm executing from within wing-ide.

Is there a way to fix this so that the local dist-packages is added to
sys.path before the system directory ALWAYS? I can do this by editing
site.py but I think it's kind of bad form to do it this way. I feel
there has to be a way to do this without root privileges.

Any ideas?

Cheers,

Chris

Sean DiZazzo

unread,
Aug 29, 2009, 11:51:16 PM8/29/09
to

I think you can modify sys.path inside your application.

Maybe this will work (at the top of your script):


import sys
sys.path[0] = "/usr/local/lib/python2.6/dist-packages"

import numpy


PS. Say hi to Steven for me!

~Sean

Chris Colbert

unread,
Aug 30, 2009, 12:07:58 PM8/30/09
to pytho...@python.org
I don't want to have to modify the path in each and every application.

There has to be a way to do this...

Personally, I don't agree with the Debian maintainers in the order
they import anyway; it should be simple for me to overshadow system
packagers. But that's another story.

P.S. my first name is Steven!

Cheers,

Chris

> --
> http://mail.python.org/mailman/listinfo/python-list
>

Christian Heimes

unread,
Aug 30, 2009, 12:29:22 PM8/30/09
to Chris Colbert, pytho...@python.org
Chris Colbert wrote:
> Is there a way to fix this so that the local dist-packages is added to
> sys.path before the system directory ALWAYS? I can do this by editing
> site.py but I think it's kind of bad form to do it this way. I feel
> there has to be a way to do this without root privileges.
>
> Any ideas?

Have you read my blog entry about my PEP 370?
http://lipyrary.blogspot.com/2009/08/how-to-add-new-module-search-path.html

Christian

Chris Colbert

unread,
Aug 30, 2009, 1:03:19 PM8/30/09
to Christian Heimes, pytho...@python.org
Great! That was the solution I was looking for. Thanks!

Chris

David C. Ullrich

unread,
Sep 1, 2009, 12:00:11 PM9/1/09
to
When I wanted to set PYTHONPATH I had the advantage of
knowing nothing about how Linux/Ubuntu was supposed to work,
so I tried everything. ~/.profile worked for me.

In article <mailman.670.1251592...@python.org>,
Chris Colbert <scco...@gmail.com> wrote:

--
David C. Ullrich

0 new messages