pypiserver est un module fort pratique qui émule le serveur officiel PyPi.org.
Serveur
Commençons par créer notre environnement virtuel :
$ virtualenv pypi
$ source pypi/bin/activate
Ensuite, installons le serveur et démarrons-le :
# Le dossier "packages" sera la racine du serveur, où seront stockés les fichiers téléchargeables
$ mkdir pypi/packages
$ python -m pip install pypiserver
$ pypi-server --port 1234 -P . -a . --overwrite pypi/packages
Pour finir, cette commande créera le paquet de votre module et l'enverra directement sur le serveur local. La nouveauté, ici, est l'utilisation de l'option -r SERVER:PORT
:
$ python setup.py sdist upload -r http://localhost:1234
Un mot de passe sera demandé, il sufit d'entre n'importe quoi et de valider en appuyant sur « Entrée ».
Client
Pour simuler un utilisateur qui installerait votre module :
# Assurons-nous que le module en question n'est pas encore installé
$ python -m pip uninstall --user nuxeo-drive
$ python -m pip install --user --extra-index-url http://localhost:1234 --trusted-host localhost nuxeo-drive
Historique
- 2018-12-28 : Correction de l'option
--trusted-store
→--trusted-host
et utilisation depython -m pip ...
au lieu de simplementpip ...
.