471,573 Members | 1,295 Online
Bytes | Software Development & Data Engineering Community
Post +

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 471,573 software developers and data experts.

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 22344
/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
reply views Thread by leo001 | last post: by
reply views Thread by Vinnie | last post: by
reply views Thread by lumer26 | last post: by
reply views Thread by lumer26 | last post: by

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.