2012-02-08 9 views
5

Esto es para Python 2.6.6 en Debian Squeeez. Estoy tratando de averiguar si los binarios entregado con Debian se configuraron con las banderas de:¿Hay alguna forma de saber si python fue configurado y compilado con "--with-threads --enable-shared"?

--with-threads --enable-shared 

como si fueran no necesitaré para compilar e instalar desde la fuente misma.

+0

¿Intentas obtener información de pyconfig.h? Este archivo se genera durante el tiempo de compilación y es específico de la plataforma. Sin embargo, no estoy seguro si tiene todas las banderas :(También ejecutar python -v podría revelar cierta información. –

Respuesta

11

--with-threads (que es el valor predeterminado) significa que Python admite el enhebrado, lo que significa que import thread funcionará. Una manera fácil de probar esto es con python$version -m threading

--enable-shared significará Python viene con un archivo libpython$version.so, instalado en $prefix/lib (junto con el directorio python$version, no dentro de ella.) La cosa más fácil que hacer es mirar si ese archivo existe - asumiendo que quiere saber porque necesita usar esta biblioteca compartida de libpython. Si realmente necesita saber si el python$versionbinario usa esta biblioteca compartida, ldd le dirá eso. Hago esa distinción porque en Debian, /usr/lib/python$version.so existirá aunque /usr/bin/python$version esté vinculado estáticamente.

+0

Y por 'hilo de importación' funciona, quiere decir que no arrojará un' ImportError', que puede probar desde Código de Python. –

+0

Gracias, Thomas - Hermosa y concisa respuesta. Justo en el punto. – DrLou

Cuestiones relacionadas