89 votes

python pip spécifier un répertoire de bibliothèque et un répertoire d'inclusion

J'utilise pip et j'essaie d'installer un module python appelé pyodbc qui a quelques dépendances sur des bibliothèques non-python comme unixodbc-dev, unixodbc-bin, unixodbc. Je ne peux pas installer ces dépendances sur l'ensemble du système pour le moment, car je ne fais que jouer, et je les ai donc installées dans un emplacement non standard. Comment puis-je indiquer à Pip où chercher ces dépendances ? Plus exactement, comment puis-je passer à pip les informations concernant les répertoires d'inclusion (gcc -I) et les répertoires de bibliothèque (gcc -L -l) à utiliser lors de la construction de l'extension pyodbc ?

-1voto

James Nicholson Points 83

Avez-vous déjà utilisé virtualenv ? C'est un paquetage Python qui vous permet de créer et de maintenir plusieurs environnements isolés sur une machine. Chacun d'entre eux peut utiliser différents modules indépendamment les uns des autres, sans avoir à se préoccuper des dépendances de votre bibliothèque système ou d'un environnement virtuel distinct.

Si vous n'avez pas les privilèges de Root, vous pouvez télécharger et utiliser le paquet virtualenv à partir des sources :

$ curl -O https://pypi.python.org/packages/source/v/virtualenv/virtualenv-X.X.tar.gz
$ tar xvfz virtualenv-X.X.tar.gz
$ cd virtualenv-X.X
$ python virtualenv.py myVE

J'ai suivi les étapes ci-dessus ce week-end sur le serveur Ubuntu 12.0.4 et cela a parfaitement fonctionné. Chaque nouvel environnement virtuel que vous créez est livré avec PIP par défaut, donc l'installation de paquets dans votre nouvel environnement est facile.

-2voto

Cricri Points 104

Juste au cas où cela pourrait aider quelqu'un, je n'ai toujours pas trouvé le moyen de le faire via Pip, donc j'ai fini par simplement télécharger le paquet et le faire via son 'setup.py'. Je suis également passé à ce qui semble être une API plus facile à installer appelée 'pymssql'.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X