Pour répondre plus précisément à la question:
conda (qui est conda pour miniconda comme pour Anaconda) met à jour tout sauf UNIQUEMENT dans une version spécifique d'un paquet -> majeur et mineur. Voilà le paradigme.
Dans la documentation, vous trouverez "REMARQUE: Conda met à jour la version la plus élevée de sa série, donc Python 2.7 met à jour la plus élevée disponible dans la série 2.x et 3.6 met à jour la plus haute disponible dans la série 3.x".
doc
Si Wang ne donne pas d'exemple reproductible, on ne peut que l'aider. par exemple, est-ce vraiment l'environnement virtuel qu'il veut mettre à jour ou Wang pourrait-il obtenir ce qu'il veut?
conda update -n ENVIRONMENT --all
* VEUILLEZ lire la documentation avant d'exécuter "update --all"! Cela ne conduit pas à une mise à jour de tous les packages par nature. Parce que conda essaie de résoudre la relation de dépendances entre tous les packages de votre environnement, cela peut conduire à des packages DOWNGRADED sans avertissement.
Si vous souhaitez uniquement mettre à jour presque tout, vous pouvez créer un fichier PIN
echo "conda ==4.0.0" >> ~/miniconda3/envs/py35/conda-meta/pinned
echo "numpy 1.7.*" >> ~/miniconda3/envs/py35/conda-meta/pinned
avant d'exécuter la mise à jour.
Si plus tard vous souhaitez ignorer le fichier dans votre environnement pour une mise à jour, vous pouvez faire:
conda update --all --no-pin
Vous ne devez pas mettre à jour --all. Si vous en avez besoin, vous pouvez le tester dans un environnement cloné.
La première étape devrait toujours être de sauvegarder votre spécification actuelle:
conda list -n py35 --explicit
(mais même ainsi il n'y a pas toujours de lien vers la source disponible - comme pour les extensions jupyterlab)
Ensuite, vous pouvez cloner et mettre à jour:
conda create -n py356 --clone py35
conda activate py356
conda config --set pip_interop_enabled True # for conda>=4.6
conda update --all
config conda
mettre à jour:
Parce que l'idée de conda est agréable mais qu'elle ne fonctionne pas très bien pour des environnements complexes, je préfère personnellement la combinaison de nix-shell (or lorri) and poetry
[as superior pip / conda .-)] ( intro poetry2nix ).
Enfin, si vous avez vraiment besoin de travailler avec des packages qui ne sont pas compatibles en raison de ses dépendances, c'est possible avec des technologies comme NixOS / nix-pkgs .
conda update --all --alt-hint
voir si cela donne une sortie ... Ou simplement essayer deconda update scipy
voir ce qui se passe (peut-être avec le--alt-hint
drapeau)