딥러닝을 시작하기에 앞서 Tensorflow를 먼저 설치해야 한다고 합니다.
해당 책에서는 pip을 사용한 설치 방법을 소개하였습니다.
그런데 반 페이지 정도로만 소개했던 Tensorflow 설치부터 문제가 생겼습니다.
여러 번의 시도 끝에 Tensorflow 설치를 성공했습니다.
제가 겪었던 문제들과 해결법을 적어보려 합니다.
pip install tensorflow
tensorflow를 설치하는 명령어입니다.
터미널에서 해당 명령어를 입력하면 설치가 가능합니다.
설치 자체는 간단합니다.
그러나 해당 명령어를 실행하기까지 많은 고비들이 존재합니다.
1. 'pip'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는 배치 파일이 아닙니다.
tensorflow 설치 시에 가장 많이 마주하는 문구인 것 같습니다.
해당 문제는 PATH에 pip경로를 등록하지 않아 발생한 문제입니다.
해당 링크에서 해결법을 찾을 수 있습니다.
2. WARNING: You are using pip version ... ; however, version ... is available
1번의 에러를 처리하고 나면 위의 에러가 발생합니다.
해당 에러는 책에서도 소개한 에러로, pip버전을 업그레이드하면 해결이 가능합니다.
WARNING 문구에서도 알려주듯이 pip install --upgrade pip 명령어를 입력하면 pip을 업그레이드할 수 있습니다.
3. ERROR: Could not install packages due to an EnvironmentError: [WinError 5} 액세스가 거부되었습니다.
2번의 에러를 처리하기 위해 pip을 업그레이드해주면 또 에러가 발생합니다.
에러 메시지에서 알 수 있듯 액세스가 거부되었다고 합니다.
터미널을 관리자 권한으로 실행하지 않아 위와 같은 에러가 발생한 것입니다.
해당 링크에서 해결법을 찾을 수 있습니다.
4. ModuleNotFoundError: No module named 'pip'
3번의 에러를 처리하고 나면 위의 에러가 발생합니다.
pip을 업그레이드하는 과정에서 3번의 에러가 발생하여 pip의 재설치가 제대로 이루어지지 않아 발생한 에러입니다.
devlog.jwgo.kr/2020/02/29/broken-pip-error/
cycorld.gitbooks.io/python/content/pip.html
해당 링크들에서 해결법을 찾을 수 있습니다.
5. ERROR: Could not find a version that satisfies the requirement tensorflow ... No matching ...
4번의 에러를 처리하고 나면 위의 에러가 발생합니다.
왜 발생했는지는 잘 모르겠습니다.
해당 링크에서 해결법을 찾을 수 있습니다.
blog.naver.com/jonghong0316/221683053696
velog.io/@prayme/conda%EB%9E%80
추가적으로 도움이 되는 링크입니다.
6. Solving environment: failed with initial frozen solve. Retrying with flexible solve.
결과적으로 위의 에러를 동반한 여러 메시지가 뜨면서 발생하면서 실패했습니다.
결국 다른 분들의 방법을 천천히 따라가면서 설치하기로 하였습니다.
tensorflow.blog/install-python/
해당 링크의 방법을 참고하였습니다.
그리고 위의 링크에서 무엇이 문제였는지 알게 되었습니다.
텐서플로 1.6버전부터 CPU의 AVX(고급 벡터 확장) 명령을 지원하도록 컴파일되어 있습니다. 만약 AVX를 지원하지 않는 CPU를 사용한다면 파이썬 3.6 버전과 텐서플로 1.5 버전을 사용해야 합니다(아래 설명). 사용하고 있는 CPU가 AVX 명령을 지원하는지 확인하려면 여기를 참고하세요.
해결 방법을 알았으니 3.6 버전의 파이썬을 설치하였습니다.
그리고 anaconda를 설치해야 하는데, 3.6 버전의 파이썬과 호환되는 anaconda를 설치해야 합니다.
해당 링크에서 3.6 파이썬에 맞는 anaconda를 설치하는 방법을 찾을 수 있습니다.
7. Solving environment: failed with initial frozen solve. Retrying with flexible solve.
anaconda를 설치하는 과정에서 또다시 해당 에러가 발생하였습니다.
conda install python=3.6 해당 명령어로 conda를 설치하려 했으나 발생한 문제입니다.
위의 링크들에서 해결법을 찾을 수 있습니다.
저는 첫 링크의 방법으로 실패하고 두 번째 링크의 방법으로 성공했으나, 두 가지 방법을 전부 사용하여 된 가능성을 배제할 수 없어 두 링크를 전부 올렸습니다.
해당 링크의 글을 읽어보면 가상 환경을 만들어주는 것 같습니다.
그러나 새로운 가상 환경을 인터프리터로 설정한 후에 tensorflow를 불러오는 데에 계속 실패하게 되어 다시 처음부터 설치하기로 하였습니다.
여러 에러 끝에 어떤 방법을 사용해야 하는지, 어떤 원리인지 습득하였습니다.
이제 설치해봅시다.
아나콘다로 파이썬 및 가상 환경 제어: thrillfighter.tistory.com/466, zzzpandanet.blogspot.com/2019/11/1.html?m=1
가상환경 생성 및 vscode에서 실행: rural-mouse.tistory.com/6
위의 세 링크를 참고하여 깔려있던 모든 파이썬 버전을 삭제하고, anaconda를 사용하여 재설치하였습니다.
conda create -n sola python=3.6.8
해당 명령어로 AVX를 지원하지 않는 3.6.8 버전의 파이썬을 사용하는 sola라는 이름의 가상 환경을 생성하였습니다.
또한 가상 환경에 AVX를 지원하지 않는 tensorflow 버전인 1.5.0을 설치하였습니다.
또한 세 번째 링크에서 제시한 conda install matplotlib까지 입력하여 설치하였습니다.
모든 과정을 마치고 vscode에서 인터프리터를 sola로 설정하고 tensorflow를 import 하였습니다.
그러나 또 에러가 발생하였습니다.
위의 링크에서 해결 방법을 찾을 수 있습니다.
이유는 numpy 버전 때문이었습니다.
딱히 numpy를 건드려준 적이 없었으므로 해당 글에서 나와있는 대로 다운그레이드 하였습니다.
그러고 나서야 아무런 에러 없이 tensorflow를 import 해오고 코드를 실행할 수 있었습니다.
여러 일정이 겹쳐 거의 3일동안 책의 진도를 나가지 못하고 tensorflow설치에서 막혀있었는데 겨우 설치에 성공하였습니다.
그러나 이런저런 에러를 접하면서 제대로 시작 하기 전에 나름의 이해도를 얻었습니다.
어떤 일에서도 배울 점이 있는 것 같습니다.