티스토리 뷰

파이썬

패키지 설치 에러

rlawldud335 2022. 1. 3. 11:44

문제상황

  • 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

https://stackoverflow.com/questions/48493505/packagesnotfounderror-the-following-packages-are-not-available-from-current-cha

  • 스택오버플로우에서 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
최근에 달린 댓글
Total
Today
Yesterday
TAG more