2012-01-16 1 views
0

Dans le cadre d'une procédure de déploiement, je charge les paquets sources Python (générés avec setup.py sdist) vers un serveur distant et les installe dans un virtualenv en utilisant pip install mypackage-1.0.tar.bz2.Le paquet Python ne sera pas mis à jour

Cela a fonctionné pendant longtemps à la fois pour de nouvelles installations et mises à niveau (en particulier, mises à niveau sans un changement dans le numéro de version du paquet). Pour une raison quelconque, je ne peux pas comprendre, car hier, il ne parvient pas à mettre à jour les paquets. Aucune erreur n'est signalée, les fichiers ne sont simplement pas modifiés. Maintenant je suis sûr que je fais quelque chose différemment mais je ne peux pas expliquer le changement de comportement.

Je peux mettre à jour le paquet avec les drapeaux -U --no-deps, mais cette technique force le script de déploiement à différencier la première installation et les mises à niveau (--no-deps est requis sinon les dépendances seraient téléchargées à chaque fois de pypi).

Des idées comment je peux obtenir une seule commande pip pour faire des installations et des mises à niveau?

+0

quelles sont vos lignes de commande? – Marcin

+0

Après l'activation de virtualenv, 'pip install mypackage-1.0.tar.bz2' est ce qui fonctionnait,' pip install -U --no-deps mypackage-1.0.tar.bz2' est ce qui me permet maintenant de faire une mise à niveau . –

+0

Ensuite, mettez cela dans votre question. – Marcin

Répondre

1

pip install package ne sera exécutée que si vous n'avez pas déjà ce paquet. Avec vous voulez mettre à jour le paquet, vous devrez utiliser: pip install -U package

Questions connexes