질문에보다 정확하게 대답하려면 :
conda (anaconda의 경우 miniconda의 conda)는 패키지의 특정 버전 (> major 및 minor) 내에서만 업데이트됩니다. 이것이 패러다임입니다.
문서에서 "참고 : Conda는 시리즈에서 가장 높은 버전으로 업데이트되므로 Python 2.7은 2.x 시리즈에서 가장 높은 버전으로 업데이트되고 3.6은 3.x 시리즈에서 가장 높은 버전으로 업데이트됩니다."
문서
Wang이 재현 가능한 예를 제공하지 않으면 도움이 될 수 있습니다. 예를 들어 실제로 업데이트하려는 가상 환경이거나 Wang이 원하는 것을 얻을 수 있습니까?
conda update -n ENVIRONMENT --all
* "update --all"을 실행하기 전에 문서를 읽으십시오! 이로 인해 모든 패키지가 본질적으로 업데이트되는 것은 아닙니다. conda는 사용자 환경의 모든 패키지 간의 종속성 관계를 해결하려고 시도하므로 경고없이 패키지가 다운 그레이드 될 수 있습니다.
거의 모든 것만 업데이트하려면 핀 파일을 만들 수 있습니다
echo "conda ==4.0.0" >> ~/miniconda3/envs/py35/conda-meta/pinned
echo "numpy 1.7.*" >> ~/miniconda3/envs/py35/conda-meta/pinned
업데이트를 실행하기 전에
나중에 업데이트를 위해 env의 파일을 무시하려면 다음을 수행하십시오.
conda update --all --no-pin
--all을 업데이트하면 안됩니다. 그럼에도 불구하고 복제 된 환경에서이를 테스트하려면 보호기가 필요합니다.
첫 번째 단계는 항상 현재 사양을 백업하는 것이어야합니다.
conda list -n py35 --explicit
(그러나 그럼에도 불구하고 jupyterlab 확장과 같이 사용 가능한 소스에 대한 링크가 항상있는 것은 아닙니다)
다음으로 복제 및 업데이트 할 수 있습니다.
conda create -n py356 --clone py35
conda activate py356
conda config --set pip_interop_enabled True # for conda>=4.6
conda update --all
콘다 설정
최신 정보:
conda의 아이디어는 훌륭하지만 복잡한 환경에서 잘 작동하지 않기 때문에 개인적으로 nix-shell (or lorri) and poetry
[우수한 pip / conda .-)] ( intro poetry2nix ) 의 조합을 선호합니다 .
마지막으로 종속성으로 인해 호환되지 않는 패키지로 작업해야하는 경우 NixOS / nix-pkgs 와 같은 기술로 가능합니다 .
conda update --all --alt-hint
그것이 출력을 제공하는지 시도 하고 볼 수 있습니다 ... 또는 그냥conda update scipy
무슨 일이 일어나고 있는지 (--alt-hint
플래그 와 함께 )보십시오