2017-04-25 1 views
0

J'ai un paquetage python qui dépendra d'un nombre important de bibliothèques partagées externes de 3ème partie. Il semble que la convention consiste à copier les bibliothèques partagées dans Library/bin (au moins sur les fenêtres utilisant anaconda). Je préférerais conserver les bibliothèques partagées supplémentaires nécessaires pour mon paquet dans un dossier distinct spécifique au paquet. Existe-t-il un moyen (facile) de faire cela avec pip ou conda ou autre chose?Comment utiliser un chemin personnalisé pour un paquet python installé

Ma première coupure sera sur Windows, mais Linux sera le suivant, donc je voudrais une approche qui fonctionnera de la même manière sur les deux plates-formes.

En outre, je connais et utilise des environnements virtuels. Mais je cherche un moyen d'isoler les bibliothèques partagées nécessaires spécifiquement pour un module/paquet des autres bibliothèques dans un environnement virtuel si possible et ne pas utiliser un environnement virtuel séparé.

Répondre

0

Créer un environnement virtuel en utilisant la commande venv: Official Python Docs for venv

Cela vous permettra de créer un nouvel environnement de python que vous pouvez configurer en utilisant les méthodes classiques que vous avez déjà trouvé. Mais il laissera également votre environnement python principal non pollué par les changements que vous faites dans cet environnement virtuel.

+0

J'aurais dû dire que je suis familier avec l'utilisation d'environnements virtuels et que je comprends cette approche de l'isolation entre les paquets. Je suis à la recherche d'une approche qui fonctionne sans avoir recours à un environnement virtuel entièrement séparé. Je vais mettre à jour ma question. Merci. – Phil

+1

Ah! OK, alors vous devriez jeter un oeil aux options pip --install-option et '--target'. Il y a une question similaire ici [Installer un paquet Python dans un répertoire différent] (http://stackoverflow.com/questions/2915471/install-a-python-package-into-a-different-directory-using-pip) – DatHydroGuy

+0

Merci pour le lien. Il semble y avoir beaucoup de bonnes discussions là-bas. Je crois que l'option '' --target'' de pip peut m'aider à faire ce que je veux faire. – Phil