2016-05-11 1 views
1

J'installe fréquemment des progiciels python à l'aide de conda, ce qui implique parfois de déclasser un progiciel installé existant. Ensuite, je mets à jour le paquet rétrogradé vers la dernière version.Dégradation et mise à niveau des bibliothèques python à l'aide de conda

E.g.

conda install -c conda-forge iris 

déclassements numpy à 1.10.4 de 1.11.x. Plus tard, je fais conda update numpy pour revenir à 1.11.x

Est-ce que cela peut faire ou peut conduire à des problèmes subtils plus tard?

Répondre

2

tl; dr;

Probablement pas, puisque numpy 1.10 -> 1.11 n'est pas un énorme saut.

approche recommandée

Je vous conseille de ne pas laisser Conda correspondre les versions correctes de chaque paquet. Vous pouvez obtenir des résultats erronés ou des plantages.

plus longue explication

La recette de iris a été construit en utilisant numpy 1.10, donc si vous forcer numpy revenir à 1.11, vous pourriez avoir des problèmes tels que:

  • accidents: si iris est compilé contre NumPy (en utilisant son C Api)
  • mauvais résultats: si iris utilise une API de numpy changée entre les versions
  • python exceptions: si iris utilise une API de numpy dans laquelle l'implémentation a changé entre les versions.

Je sais que les demandes récemment numpy que indices de tableaux numpy être entiers seulement. Cela a cassé du code. Je ne me souviens pas quelle version de numpy a fait cela.

Ceci est vrai pour tous les paquets, pas seulement numpy. Certaines bibliothèques conservent la compatibilité API et/ou ABI entre les versions, d'autres non.

Dans l'ensemble, numpy a une API assez stable. Je ne peux pas vraiment répondre pour son ABI, puisque je ne sais pas.

+0

merci, c'est une excellente réponse! – user308827