2017-08-28 1 views
0

Je cherche un moyen de marquer un paquet de condos particulier hébergé sur, par exemple, un serveur HTTP à marquer "expérimental" de sorte que la commande conda install du client installe le plus suivant paquet récent à la place. Le cas d'utilisation est le suivant: Je suis en train de créer des paquets candidats à la mise à jour que je veux installer sur nos machines de contrôle qualité, mais je ne veux pas que d'autres développeurs mettent accidentellement à jour leur environnement avec le nouveau paquet. Comme le paquet candidat à la libération a une chaîne de compilation plus élevée que le paquet stable (par exemple 2.0.0rc1 par rapport à 1.9.7), conda installera le candidat à la place. D'un autre côté, j'aimerais distribuer les paquets candidats à la libération en utilisant le mécanisme que j'ai déjà mis en place (le serveur HTTP) pour pouvoir les installer sur les machines QA, peut-être avec un drapeau --force. Je voudrais marquer les paquets "disallow install" sur le serveur au lieu de demander à tous les développeurs de modifier leur ~/.condarc.Signaler un paquet de paquets dangereux/expérimental, désinstaller installation de paquet

Si la configuration que je viens de décrire n'est pas possible, existe-t-il des alternatives? La seule chose que je peux penser est d'héberger un autre dépôt qui ne contient que les paquetages release candidate/experimental. Cette approche est-elle typique de ce que font les autres gestionnaires de paquets?

Répondre

0

Vous pouvez attribuer une étiquette aux packages "alpha" lorsque vous les téléchargez. Cela les place effectivement sur un canal différent qui doit être spécifié lors de l'installation, que ce soit dans la configuration ou pour une commande d'installation spécifique. L'option est détaillée ici: https://docs.continuum.io/anaconda-cloud/commandreference sous la section "upload" (désolé, je ne peux pas diriger le lien). La commande est essentiellement

anaconda upload -l dev /path/to/mypackage-1.0.0a1-py36_0.tar.gz 
       ^^^^^^ 
      This is the label assigned 

Pour installer à partir d'une étiquette, indiquez simplement comme un canal

conda install -c mychannel/label/dev mypackage 
          ^^^^^^^^^^ 
        Include this on your channel 

Si cette étiquette est pas spécifiée dans la commande d'installation (ou dans la configuration de l'utilisateur), le install ne trouvera pas le paquet alpha!

Voir aussi here sous la rubrique "Étiquette" pour plus d'informations.