Deseo compilar Python 2.7.3 de la fuente. El sistema operativo es OpenSUSE 11.4 x86_64, que ya proporciona Python 2.7. Me gustaría utilizar 2.7.3 para los últimos parches de seguridad, pero es un sistema compartido, así que no puedo jugar con el intérprete de Python del sistema.compilar Python 2.7.3 de la fuente en un sistema con Python 2.7 ya
puedo compilar usando ./configure --prefix=/opt/python --enable-shared
. No hay errores de configuración, por lo que I make
. Nuevamente no hay errores. Hago un make install
(no creo que necesito make altinstall
, ya que este prefijo de instalación en /opt/python
no está en uso todavía).
Cuando trato de ejecutar el nuevo binario /opt/python/bin/python
, Python anuncia su versión como 2.7, 2.7.3 no. La única forma que he encontrado para corregir esto es mover el sistema /usr/lib64/libpython2.7.so.1.0
y vincularlo simbólicamente al /opt/python/lib/python/libpython2.7.so.1.0
. Esto funciona y Python anuncia que es 2.7.3, pero esto rompe el sistema Python.
¿Hay alguna forma de conseguir los dos coexistir, por ejemplo, obteniendo el /opt/python
para usar su propio libpython? Aparte de suministrar LD_LIBRARY_PATH en tiempo de ejecución. ¿Hay una solución de tiempo de compilación? Gracias.
Mira en env virtuales – Tim
¿Necesita '- -enable-shared'? He construido un billón de veces de Python personalizado (sin '--enable-shared') en varias distribuciones y lo único que se necesita para usar este Python es modificar' PATH'. –
Tenga en cuenta que si construye Python sin '--enable-shared', obtendrá un archivo ejecutable enorme que contiene toda la biblioteca compartida. La biblioteca compartida es necesaria para la incrustación, por lo que las distribuciones de Linux se compilan con '--enable-shared'. – user4815162342