469,288 Members | 2,353 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,288 developers. It's quick & easy.

Location of Python modules

Pretty much self explanatry, where are Python modules stored in Linux?
(i.e. in /usr/bin/local, or where?)

Feb 13 '06 #1
12 22137
/usr/lib/python2.4/site-packages ?

Feb 13 '06 #2
No, not there

-- /usr/bin/byte

Feb 13 '06 #3
Byte wrote:
Pretty much self explanatry, where are Python modules stored in Linux?
(i.e. in /usr/bin/local, or where?)

Depends on how you installed Python (or how your distro package system
installed it). But it's usually in $PREFIX/lib/pythonX.X , with $PREFIX
being one of /usr or /usr/local (third-part modules being in the
site-packages subdirectory).

--
bruno desthuilliers
python -c "print '@'.join(['.'.join([w[::-1] for w in p.split('.')]) for
p in 'o****@xiludom.gro'.split('@')])"
Feb 13 '06 #4
"Byte" wrote:
Pretty much self explanatry, where are Python modules stored in Linux?
(i.e. in /usr/bin/local, or where?)


it depends on how and where Python is installed. to see where they
are on your install, use

$ python -c "import sys; print sys.path"
['', '/usr/lib/python24.zip', '/usr/lib/python2.4', '/usr/lib/python2.4/plat-linux2',
'/usr/lib/python2.4/lib-tk', '/usr/lib/python2.4/lib-dynload',
'/usr/local/lib/python2.4/site-packages', '/usr/lib/python2.4/site-packages', ...

to check where a given module is installed, you can do

$ python -c "import cgi; print cgi.__file__"
/usr/lib/python2.4/cgi.pyc

hope this helps!

</F>

Feb 13 '06 #5
martin@jordaan:~$ python
Python 2.4.2 (#2, Sep 30 2005, 21:19:01)
They are in one of the directories listed in sys.path, for me this is:
[GCC 4.0.2 20050808 (prerelease) (Ubuntu 4.0.1-4ubuntu8)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
import sys
print sys.path ['', '/usr/lib/python24.zip', '/usr/lib/python2.4',
'/usr/lib/python2.4/plat-linux2', '/usr/lib/python2.4/lib-tk',
'/usr/lib/python2.4/lib-dynload',
'/usr/local/lib/python2.4/site-packages',
'/usr/lib/python2.4/site-packages',
'/usr/lib/python2.4/site-packages/HTMLgen',
'/usr/lib/python2.4/site-packages/Numeric',
'/usr/lib/python2.4/site-packages/PIL',
'/usr/lib/python2.4/site-packages/cairo',
'/usr/lib/python2.4/site-packages/gtk-2.0']


see http://docs.python.org/lib/module-sys.html

Feb 13 '06 #6
Byte wrote:
No, not there


Sure:

martin@mira:~$ ls /usr/lib/python2.4/site-packages
apt debconf.py Numeric pygtk.py
README
apt_inst.so debconf.pyc Numeric.pth pygtk.pyc
setuptools-0.6a8-py2.4.egg
apt_pkg.so easy-install.pth ORBit.la pygtk.pyo
setuptools.pth
cairo FormEncode-0.4-py2.4.egg ORBit.so pygtk.py.python2.4-gtk2
cairo.pth gtk-2.0 pygtk.pth python-support.pth
You mean, on *your* Linux? Give me an SSH account to your machine,
and I find out for you.

Regards,
Martin
Feb 13 '06 #7
Found it in /usr/local/lib/python2.4/site-packages, thanks. Now, how do
i convert a .py program into a module?

-- /usr/bin/byte

Feb 13 '06 #8
"Byte" <eo********@gmail.com> wrote:
Found it in /usr/local/lib/python2.4/site-packages, thanks. Now, how do
i convert a .py program into a module?


a .py program is a module (the module's content is what's left when the
program is finished).

to make a useful module, just make sure that it defines all the stuff you
want to make available (functions, classes, constants, etc), and that it
doesn't have any unexpected side-effects.

to create a script that can be used both as a script and as a module, you
can check the __name__ variable. see:

http://diveintopython.org/getting_to...g_modules.html

for more on this.

</F>

Feb 13 '06 #9
LOL

a .py program is a module, you can import it:
if it is in the sys.path (import modulename).
if it sits in a directory that is in the sys.path and the directory
also has a __init__.py file (import dirname.modulename / from dirname
import modulname).
if there is a modulename.pth file in the sys.path containing the path
to your .py file.
(the current dir is always in the sys.path).

if you want to install your module (copy it under the site-packages
dir), then you should use distutils module and create a setup.py script

the compiled bytecode (.pyc file) is always automatically generated

Feb 13 '06 #10
Byte:
where are Python modules stored in Linux?


Where are eggs laid on the western hemisphere?

--
RenÚ Pijlman
Feb 13 '06 #11
>if it is in the sys.path

sys.path, what is this?

Feb 14 '06 #12
Byte wrote:
if it is in the sys.path


sys.path, what is this?


a variable in the sys module. quoting from a reply that you might have
missed:

$ python -c "import sys; print sys.path"
['', '/usr/lib/python24.zip', '/usr/lib/python2.4', '/usr/lib/python2.4/plat-linux2',
'/usr/lib/python2.4/lib-tk', '/usr/lib/python2.4/lib-dynload',
'/usr/local/lib/python2.4/site-packages', '/usr/lib/python2.4/site-packages', ...

</F>

Feb 14 '06 #13

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

54 posts views Thread by Brandon J. Van Every | last post: by
10 posts views Thread by Berthold Hoellmann | last post: by
2 posts views Thread by Olaf Meyer | last post: by
1 post views Thread by Jerald | last post: by
1 post views Thread by CARIGAR | last post: by
reply views Thread by zhoujie | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.