여러 컴퓨터에서 코딩을 한다거나, 아니면 제작한 코드를 배포한다거나 할 경우 코드에서 사용한 파이썬 라이브러리를 그대로 설치해주어야 그 코드를 사용할 수 있다.
freeze는 많이 떠돌아다니는 정보니 그렇다 치고, 일단 컴퓨터별로 특정 라이브러리가 설치된 경로가 다르다보니 그대로 사용할 경우에 경로를 찾을 수 없다는 오류들이 발견되곤 한다.
ERROR: Could not install packages due to an OSError: [Errno 2] No such file or directory:
실제로 설치가 멈추는 부분들을 살펴보면, 그 내용이 아래와 같이 작성되어 있다. 특징이라면, 중간에 골뱅이가 있다는 것.
- mysqlclient @ file:///C:/Users/nhk49/mysqlclient-1.4.6-cp36-cp36m-win32.whl
- mpl-finance @ https://github.com/matplotlib/mpl_finance/archive/master.zip
- APScheduler @ file:///C:/ci/apscheduler_1612239306794/work
버전이 아닌 파일 경로를 저장해버리는 바람에 발생하는 문제점이다. 그럴 경우 아래와 같이 사용한다.
## 통상적인 방법
pip freeze > requirements.txt
## 파일 버전 저장 방법
pip --format=freeze > requirements.txt
그럼 위에서 파일 경로가 포함됐던 것과 달리, 버전이 적힐 것이다.
- mysqlclient==1.4.6
- mpl-finance==0.10.1
- APScheduler==3.7.0
설치 방법은 다르지 않다.
pip install -r requirements.txt
References.