web-dev-qa-db-fra.com

Comment installer une bibliothèque python manuellement

J'ai construit le moteur quickfix ( http://www.quickfixengine.org/ ) pour l'une de mes tâches et j'ai également intégré le support python pour cela).

Malheureusement, il s'agit d'un environnement multi-utilisateurs et je n'ai pas accès au chemin d'installation python. Ainsi, la commande make install essaie de copier sur les fichiers et échoue. J'ai réussi à commenter les deux lignes où il essaie de le faire et le make install est terminé. Comme je ne peux pas y mettre les fichiers, où puis-je mettre le . donc fichier créé?

Et comment faire savoir à python qu'il est là? J'ai consulté la documentation de python.org mais elle ne décrit que le processus pour setup.py installations.

J'ai aussi essayé de mettre le chemin pour le . Donc dans sys.path, cela n'a pas fonctionné. Et existe-t-il des documents sur l'anatomie d'un paquet python? Merci.

18
Osada Lakmal

Je vais supposer que la compilation du package QuickFix ne produit pas de setup.py, mais compile plutôt les liaisons Python et s'appuie sur make install pour les mettre à l'endroit approprié.

Dans ce cas, une solution rapide et sale consiste à compiler la source QuickFix, à localiser les modules d'extension Python (vous avez indiqué sur votre système ces derniers avec un .so extension) et ajoutez ce répertoire à votre variable d'environnement PYTHONPATH, par exemple, ajoutez

export PYTHONPATH=~/path/to/python/extensions:PYTHONPATH

ou une ligne similaire dans votre fichier de configuration Shell.

Une solution plus robuste consisterait à compiler avec ./configure --prefix=$HOME/.local. En supposant que QuickFix sait placer les fichiers Python dans le site-packages, quand vous faites make install, il doit installer les fichiers dans ~/.local/lib/pythonX.Y/site-packages, qui, pour Python 2.6+, devrait déjà être sur votre Python en tant que répertoire des packages de site par utilisateur =.

Si, en revanche, il fournissait un setup.py fichier, exécutez simplement

python setup.py install --user

pour Python 2.6+.

18
gotgenes

Vous devez l'installer dans un répertoire de votre dossier personnel et manipuler le PYTHONPATH pour que ce répertoire soit inclus.

Le meilleur et le plus simple est d'utiliser virtualenv. Mais cela nécessite une installation, provoquant un catch 22. :) Mais vérifiez si virtualenv est installé. S'il est installé, vous pouvez le faire:

$ cd /tmp
$ virtualenv foo
$ cd foo
$ ./bin/python

Ensuite, vous pouvez simplement exécuter l'installation comme d'habitude, avec/tmp/foo/python setup.py install. (Évidemment, vous devez créer l'environnement virtuel dans votre dossier a dans votre répertoire personnel, pas dans/tmp/foo.;))

S'il n'y a pas de virtualenv, vous pouvez installer votre propre Python local. Mais cela peut ne pas être autorisé non plus. Ensuite, vous pouvez installer le package dans un répertoire local pour les packages:

$ 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

Vous devez maintenant ajouter /tmp/frotz/pythonX.X/site-packages à votre PYTHONPATH, et vous devriez être opérationnel!

3
Lennart Regebro

Voici le FAQ sur l'installation de Python: http://docs.python.org/install/index.html

Il y a quelques conseils qui pourraient vous aider.

2
Rodrigo Hahn