티스토리 뷰
문제상황
- A컴퓨터에서 사용중이던 conda 가상환경에서 패키지 리스트를 가져옴
- 해당 패키지 리스트를 이용해 B컴퓨터의 가상환경에 패키지를 설치하려고함.
- 하지만, pypi_0 라고적힌 패키지가 설치가 안되는 문제가 생김
conda package list export imoprt
conda list --export > packagelist.txt
conda install --file packagelist.txt
conda install --n MyEnvironment --file packagelist.txt
packagelist.txt
# This file may be used to create an environment using:
# $ conda create --name <env> --file <this file>
# platform: win-64
_tflow_select=2.3.0=gpu
absl-py=0.15.0=pyhd3eb1b0_0
aiohttp=3.8.1=py38h2bbff1b_0
aiosignal=1.2.0=pyhd3eb1b0_0
astor=0.8.1=py38haa95532_0
astunparse=1.6.3=py_0
async-timeout=4.0.1=pyhd3eb1b0_0
attrs=21.2.0=pyhd3eb1b0_0
bashutils=0.0.4=pypi_0
beautifulsoup4=4.10.0=pypi_0
blas=1.0=mkl
blinker=1.4=py38haa95532_0
brotlipy=0.7.0=py38h2bbff1b_1003
ca-certificates=2021.10.26=haa95532_2
cachetools=4.2.2=pyhd3eb1b0_0
certifi=2021.10.8=py38haa95532_0
cffi=1.15.0=py38h2bbff1b_0
charset-normalizer=2.0.4=pyhd3eb1b0_0
click=8.0.3=pyhd3eb1b0_0
cmake=3.22.1=pypi_0
colorama=0.4.4=pypi_0
...
- 여기서 가장 왼쪽이 패키지이름, 중간이 버전, 오른쪽은 Build Channel 이라고 한다.
에러 메세지
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
PackagesNotFoundError: The following packages are not available from current channels:
- beautifulsoup4==4.10.0=pypi_0
- layers==0.1.5=pypi_0
- jinja2==3.0.3=pypi_0
- pandas==1.3.5=pypi_0
...
Current channels:
- https://repo.anaconda.com/pkgs/main/win-64
- https://repo.anaconda.com/pkgs/main/noarch
- https://repo.anaconda.com/pkgs/r/win-64
...
To search for alternate channels that may provide the conda package you're
looking for, navigate to
https://anaconda.org
and use the search bar at the top of the page.
시도1
- 스택오버플로우에서
conda config --append channels conda-forge
를 이용해서 패키지를 검색할때 사용하는 conda-forge 채널을 추가하라고 했고 추가했지만 동일한 에러메세지가 떴다.
conda channel
- 패키지들의 저장되어 있는 위치. 패키지들을 호스팅하고 관리하기 위한 방법으로 사용됨.
- 콘다 패키지들은 콘다 패키지 디렉토리URL인 원격 채널로부터 다운로드가 된다.
- 디폴트로 http://repo.anaconda.com/pkgs/에서 패키지들을 다운로드/업데이트 한다.
- 채널을 수정하려면 -c 옵션을 이용하면 된다.
package build
- 기본적으로 모든 파이썬 패키지는 PyPI 서버(https://pypi.org/) 라는 공식 패키지 서버에 등록된다. 하지만 아나콘다 배포판의 경우에는 PyPI가 아닌 독자적인 패키지 서버(https://anaconda.org/)를 운영하고 있으며 운영체제별로 미리 컴파일된 패키지를 제공하는 대신 PyPI보다는 제공하는 패키지의 수가 적다.
문제원인 파악
- Pypi 서버에서 패키지를 다운받는 방법과 anaconda 서버에서 패키지를 다운방법는 방법의 차이와 호환이 안되어 발생하는 문제같다.
- 파이썬 패키지는 pip로 설치하는방법과 conda로 설치하는방법 두가지가 있는데, 나는 아나콘다 가상환경을 사용하므로 conda를 이용해서 패키지를 관리하는 것이 더 선호된다.
- 하지만, 이번문제와 같이 pypi 패키지가 다운로드 되지 않는경우에는 pip를 이용해서 다운로드 해야하는 것 같다.
- https://daewonyoon.tistory.com/311 참고사이트
'파이썬' 카테고리의 다른 글
python은 call-by-value ? call-by-reference? (0) | 2022.01.07 |
---|---|
Flask-RESTX Swagger 사용법 (0) | 2022.01.05 |
파이썬 인터프리터 환경설정 (0) | 2021.12.30 |