아나콘다 가상환경이 이미 설치되어 있다고 가정한다.
가상환경의 버전이 충돌하여 코드가 돌아가지 않는 경우 가장 깔끔한 방법은 새로운 가상환경을 만들어서 문제가 생긴 라이브러리(tensorflow, pytorch)를 다시 설치하는 것이다.
1. Anaconda prompt 창 실행
다음과 같은 창이 뜬다.
(base) C:\Users\jaykj>
2. conda activate '가상환경' 입력
위 명령어를 입력하면 가상환경에 접속할 수 있다.
tens는 가상환경 이름이다.
(base) C:\Users\jaykj>conda activate tens
3. conda list 입력
가상환경에 설치된 라이브러리 버전을 확인하여
충돌한 라이브러리 버전을 확인한다.
(tens) C:\Users\jaykj>conda list
# packages in environment at C:\Users\jaykj\Anaconda3\envs\tens:
#
# Name Version Build Channel
_tflow_select 2.2.0 eigen
.
.
.
tensorflow 2.1.0 eigen_py37hd727fc0_0
tensorflow-addons 0.12.1 pypi_0 pypi
tensorflow-base 2.1.0 eigen_py37h49b2757_0
tensorflow-datasets 4.2.0 pypi_0 pypi
tensorflow-estimator 2.4.0 pyhd54b08b_0
tensorflow-hub 0.11.0 pypi_0 pypi
tensorflow-metadata 0.28.0 pypi_0 pypi
tensorflow-model-optimization 0.5.0 pypi_0 pypi
tensorflow-text 2.4.3 pypi_0 pypi
.
.
.
(tens) C:\Users\jaykj>
-> 다음과 같이 tensorflow와 tensorflow-estimator의 버전이 달라서 충돌이 일어났다.
4. conda install tensorflow=2.1.0 입력
원하는 버전의 텐서플로우로 다시 설치한다.
pip install tensorflow=2.1.0 명령어도 가능하다.
pip와 conda는 차이가 있지만 여기서 굳이 설명할 필요는 없을 것 같고,
둘 중에 뭘 이용하던지 가상환경이 새로 설치된다는 점에서는 차이가 없다.
지금 존재하는 tensorflow를 삭제할 필요 없다.
아나콘다가 알아서 처리해줌.
(tens) C:\Users\jaykj>pip install tensorflow=2.1.0
다시 conda list로 가상환경의 버전을 확인해보면
(tens) C:\Users\jaykj>conda list
# packages in environment at C:\Users\jaykj\Anaconda3\envs\tens:
#
# Name Version Build Channel
_tflow_select 2.2.0 eigen
.
.
.
tensorflow 2.1.0 eigen_py37hd727fc0_0
tensorflow-addons 0.12.1 pypi_0 pypi
tensorflow-base 2.1.0 eigen_py37h49b2757_0
tensorflow-datasets 4.2.0 pypi_0 pypi
tensorflow-estimator 2.1.0 pyhd54b08b_0
tensorflow-hub 0.11.0 pypi_0 pypi
tensorflow-metadata 0.28.0 pypi_0 pypi
tensorflow-model-optimization 0.5.0 pypi_0 pypi
tensorflow-text 2.4.3 pypi_0 pypi
.
.
.
(tens) C:\Users\jaykj>
tensorflow-estimator의 버전이 2.1.0으로 다운그레이드 되었음을 확인할 수 있다.
5. 실패한 해결방법들
tensorflow remove 후 다시 설치
- 그냥 다른버전으로 새로 설치해도 이전 것이 지워지므로 제거할 필요 없음
tensorflow-estimator 2.1.0으로 다시 설치
- 다시 설치해도 설치했다고만 뜰 뿐 버전은 계속 2.4.0으로 뜸
- 애초에 tensorflow-~~ 들은 tensorflow를 다시 설치하거나 제거하면 따라서 관리되는 것으로 보임
가끔 설치 과정에서 오류뜨는 경우 관리자 모드로 접속하면 해결되기도 함
- anaconda prompt를 관리자 모드로 접속하면 됨