【Venv】가상 환경의 사용 라이브러리를 freeze 하면 생각했던 10배는 패키지가 기입된 이야기【Anaconda】【비망록】

배경



Hackason에 팀에 참여할 때 Github에서 코드를 관리하려고했습니다.
방금 만든 가상 환경의 라이브러리를 freeze 하면, 설치하지 않은 라이브러리까지 굉장히 기입되어서 초조했다.
전회에 계속 비망록으로서 투고합니다.

환경



OS: MacOS BigSur
터미널: zsh
PYTHONPATH : Anaconda에 연결했습니다.
↑ 이번에는이 녀석이 나쁘다.

접근



우선 freeze



Django의 패키지 만 pip install 한 환경을 작성.
runserver까지 확인할 수 있었으므로 라이브러리를 freeze
(venv)(base)$ python -m pip freeze > requirments.txt

requirements.txt 확인


Django==3.2.7
その他numpyなど想定外に記述されたライブラリたち

어...?

venv 환경을 다시 작성해 봅니다.



venv의 환경 구축은 마지막 기사

freeze, requiments 확인


Django==3.2.7
その他numpyなど想定外に記述されたライブラリたち

역시 설치하지 않은 패키지도 기재된다. \코니치하하/

말하자면...



이전에 PYTHONPATH를 Anaconda에 연결 한 것을 기억했습니다.
Anaconda-Navigator의 environment에서 확인하면, 자신이 아무래도 Anaconda의 가상 환경 「base」상에 존재하는 것이 판명.

Python Japan

확실히 zsh에서도 (base)라고 표시되었습니다 ...
(venv)(base)$ 

Anaconda에 다른 가상 환경을 만들고 전환




그래서 위 기사를 참고로 Anaconda에서 다른 환경을 만들고 환경을 전환했습니다.
환경 이름은 장고입니다.

장고의 환경을 시작하면 ...
(venv)(base)$ conda activate Django
(venv)(Django)$ 

무사히 시작했습니다!

라이브러리 설치, freeze



Django를 다시 pip install하고 freeze를 수행합니다.
(venv)(Django)$ pip install django
(venv)(Django)$ python -m pip freeze > requirments.txt

requirements.txt 확인
asgiref==3.4.1
Django==3.2.7
pytz==2021.1
sqlparse==0.4.

확실히 필요한 패키지만이 쓰여져 있다!

이번 오치



PYTHOHPATH가 Anaconda에 연결되어 있기 때문에 기본적으로 사용하는 환경이 Anaconda의 기본 환경이되었습니다. 따라서 가상 환경을 구축해도 기본 환경의 라이브러리를 사용할 수있는 상태가되었기 때문입니다.
학생 엔지니어라든지 상당히 빠지기 쉬운 이벤트일지도 모르기 때문에, 이렇게 되어 버렸을 때는 침착해 Anaconda의 가상 환경을 전환해 대처해 보세요.
(원래 Anaconda에 PYTHONPATH를 연결하는 사람은 적은가...?)

오늘의 기사는 이상입니다.
해커슨 최선을 다하겠습니다!

--추기--
불행히도 Hackason은 입상 할 수 없으며 ...
하지만 그 과정에서 이 문제를 비롯해 여러가지 배울 수 있었으므로 요시!

참고로 한 기사



【초보자용】 Anaconda로 Python의 가상 환경을 만들고 전환하는 (어쩌면) 가장 쉬운 방법

좋은 웹페이지 즐겨찾기