Auto locate Python's .so on Linux (for cx_Freeze's --shared-lib-name)

James Stroud jstroud at mbi.ucla.edu
Sat Nov 17 22:46:32 EST 2007


robert wrote:
> In a makefile I want to locate the .so for a dynamically linked Python 
> on Linux. (for cx_Freeze's --shared-lib-name)
> e.g. by running a small script with that Python. How to?
> 
> Robert

def findaso(aso):
   import os
   for apath in os.sys.path:
     if not apath.startswith(os.path.sep):
       apath = os.path.join(os.path.curdir, apath)
     try:
       files = os.listdir(apath)
     except OSError:
       pass
     if aso in files:
       return apath


py> def findaso(aso):
...   import os
...   for apath in os.sys.path:
...     if not apath.startswith(os.path.sep):
...       apath = os.path.join(os.path.curdir, apath)
...     try:
...       files = os.listdir(apath)
...     except OSError:
...       pass
...     if aso in files:
...       return apath
...
py> findaso('_tkinter.so')
'/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/lib-dynload'

James

-- 
James Stroud
UCLA-DOE Institute for Genomics and Proteomics
Box 951570
Los Angeles, CA  90095

http://www.jamesstroud.com



More information about the Python-list mailing list