lista - modulos python
Cómo instalar una biblioteca de python manualmente (3)
Aquí están las preguntas frecuentes oficiales sobre la instalación de módulos de Python: http://docs.python.org/install/index.html
Hay algunos consejos que podrían ayudarte.
Construí el motor de quickfix ( http://www.quickfixengine.org/ ) para una de mis tareas y también incorporé soporte Python para él.
Desafortunadamente, este es un env para múltiples usuarios y no tengo acceso a la ruta de instalación de Python. Por lo tanto, el comando make install intenta copiar sobre los archivos y falla. Me las arreglé para comentar las dos líneas donde intenta hacer eso y la instalación se completó. Como no puedo colocar los archivos allí, ¿dónde puedo colocar el archivo .so creado?
¿Y cómo le hago saber a Python que está ahí? Miré la documentación de python.org pero solo describe el proceso de instalación de setup.py .
También intenté poner la ruta para sys.path
en sys.path
, que no funcionó. ¿Y hay algún documento sobre la anatomía de un paquete de python? Gracias.
Asumiré que compilar el paquete QuickFix no produce un archivo setup.py
, sino que solo compila los enlaces de Python y confía en make install
para colocarlos en el lugar adecuado.
En este caso, una solución rápida y sucia es compilar la fuente de QuickFix, ubicar los módulos de extensión de Python (usted indicó en su sistema estos extremos con una extensión .so
) y agregar ese directorio a su variable de entorno PYTHONPATH
, por ejemplo, agregar
export PYTHONPATH=~/path/to/python/extensions:PYTHONPATH
o línea similar en su archivo de configuración de shell.
Una solución más robusta incluiría asegurarse de compilar con ./configure --prefix=$HOME/.local
. Suponiendo que QuickFix sepa que debe colocar los archivos de Python en los site-packages
apropiados, cuando make install
, debería instalar los archivos en ~/.local/lib/pythonX.Y/site-packages
, que, para Python 2.6+, debería ya estará en su ruta de Python como el directorio de paquetes de sitio por usuario .
Si, por otro lado, proporcionó un archivo setup.py
, simplemente ejecute
python setup.py install --user
para Python 2.6+.
Debe instalarlo en un directorio en su carpeta de inicio y, de alguna manera, manipular PYTHONPATH para que se incluya ese directorio.
Lo mejor y lo más fácil es usar virtualenv. Pero eso requiere instalación, lo que provoca un retén 22. :) Pero compruebe si virtualenv está instalado. Si está instalado puedes hacer esto:
$ cd /tmp
$ virtualenv foo
$ cd foo
$ ./bin/python
Luego, puede ejecutar la instalación como de costumbre, con / tmp / foo / python setup.py install. (Obviamente, debe crear el entorno virtual en su carpeta en su directorio de inicio, no en / tmp / foo.))
Si no hay virtualenv, puedes instalar tu propio Python local. Pero eso tampoco puede ser permitido. Luego puede instalar el paquete en un directorio local para paquetes:
$ wget http://pypi.python.org/packages/source/s/six/six-1.0b1.tar.gz#md5=cbfcc64af1f27162a6a6b5510e262c9d
$ tar xvf six-1.0b1.tar.gz
$ cd six-1.0b1/
$ pythonX.X setup.py install --install-dir=/tmp/frotz
Ahora necesita agregar /tmp/frotz/pythonX.X/site-packages
a su PYTHONPATH, ¡y debería estar en funcionamiento!