Question about python 3.2 distutils

Collin Day dcday137 at gmail.com
Sat Mar 17 02:05:29 EDT 2012


Hi all,
I have a question about python 3.2 distutils on a Gentoo amd64 system. 
When I open an ipython session and import distutils.unixcompiler and 
then check the shared library extension with 
UnixCCompiler.shared)lib_extension, it returns '.so', as I would 
expect. When I run a setup.py in an unofficial PIL source that should 
work with python 3.2 and step into it, I hit the line:
find_library_file(self, "tcl" + version):
 feature.tcl = "tcl"+TCL_VERSION
self is: <__main__.pil_build_ext object at 0xf44510>
find_library_file is:
def find_library_file(self, library):
 return self.compiler.find_library_file(self.compiler.library_dirs, 
library)
 self.compiler is <distutils.unixccompiler.UnixCCompiler object at 
0xfc5410>
 library is: 'tcl8.5'
when I check the shared_lib_extension it returns '.cpython-32.so' - not 
'.so'
This is causing a problem because, for example, I have libtcl8.5.so, but 
it is looking for libtcl8.5.cpython-32.so.
Where is this shared lib extension being determined? After all, in an 
interactive session, it is just looking for .so, but in the script, it 
is looking for .cpython-32.so. I tried grep -R cpython-32 * in the top 
level directory of ther PIL source I am using, thinking it may be 
ovridden or set somewhere, but it turns up empty. Can anyone tell me 
what the difference is? I posted earlier, but I just noticed this 
difference between interactive session and script.
Thanks!


More information about the Python-list mailing list

AltStyle によって変換されたページ (->オリジナル) /