본문 바로가기

언어/Python

11/14 문제는 문제고 실행은 실행이다

일단 어제 발생한 가상환경 경로 문제는 이전에 내가 아나콘다 프롬프트 실행 시 경로를 D드라이브로 바꿔놓은 것 같고, 그걸 다시 되돌리고 싶은데, 구글에서 검색해보면 나오는 일반적 방법인 아나콘다 프롬프트 속성에서 %HOMEPATH% 이걸 D드라이브로 바꿔놓은 게 아니라서 되돌리는 법을 못 찾겠다.

 

그래서 그냥 이대로 D드라이브에 가상환경을 생성하기로 했다.

굳이 되돌려 놓는다해도 어차피 C드라이브 용량 부족해서 문제될 것이 많기 때문이다.

 

그럼 이제 문제는..

다른 C드라이브에 있는 가상환경은 requirements.txt 파일만 제자리에 있으면 pip install -r requirements.txt를 실행했을 때 실행이 자동적으로 진행이 되는데,, D드라이브에 새로 생성한 녀석은 저 텍스트 파일을 갖다놔도 설치가 되지 않고 경로에 requirements.txt가 없다는 에러가 뜬다는 것이다.

그 원인을 밝혀서 해결하는 방법을 검색으로 찾아내는게 생각보다 잘 안돼서 그냥 직접 필수적인 라이브러리와 특정 버전을 설치하는 것으로 대체하기로 했다.

 

그렇게 numpy부터 설치하려고 했는데 또 요런 에러가 떴다.

ERROR: pip's dependency resolver does not currently take into account all the packages that are installed. This behaviour is the source of the following dependency conflicts.

 

그리고 아래에 텐서플로 버전 같은거가 주루룩 뜨면서 뭔가 충돌이 있다고 하는데.. 이건 pip install 라이브러리==버전 을 입력하고 버전 뒤에 --no-deps를 입력하면 된다고 한다.

 

실제로 작동이 돼서 패스

 

그 다음, pytorch 설치도 CUDA랑 버전을 맞춰서 설치했더니 됐다.

conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 -c pytorch

 

그리고 주피터 노트북에 생성한 가상환경을 연결해주는 코드

python -m ipykernel install --user --name recsys --display-name recsys

생성한 가상환경 커널을 추가해주는 것이다.

 

그렇게 하고 나니 드디어 쥬피터 노트북을 열었을때 기본 커널로 생성한 가상환경이 연결된다.

이걸로 확인 가능한듯

 

그리고 import 하는데 matplotlib의 cycler 라는 모듈이 없어서 ModuleNotFoundError가 떴다.

여기서 --no-deps 이거를 빼고 pip install matplotlib==3.6.1 로 그냥 matplotlib을 설치했더니 문제가 해결됐다.

그러니 드디어 패키지 로드에서 문제가 일단락됐다.

 

음.. requirements.txt를 한번에 설치하지 못한 점이 아쉽긴 하지만,, 일단 해결할 수 있으니 됐다.