pip_python_package_manager_에_대한_local_repository_만들기

pip(python package manager) 에 대한 Local Repository 만들기

pip 패키지 목록에 대한 DownLoad 및 압축 – 사전 작업 (EPEL Repository 필요)

  • pip 명령을 사용하기 위하여 python-pip 패키지 설치 ( 해당 패키지는 epel Repository 에서 다운로드 받아야 함. )
# yum install python-pip bzip2 -y
===================================================================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================================================================
Installing:
python2-pip noarch 8.1.2-5.el7 epel 1.7 M
Installing for dependencies:
python-backports x86_64 1.0-8.el7 base 5.8 k
python-backports-ssl_match_hostname noarch 3.4.0.2-4.el7 base 12 k
python-setuptools noarch 0.9.8-7.el7 base 397 k

Transaction Summary
===================================================================================================================================================================================================
  • pip pip2pi setuptools 패키지 업데이트
# pip install -U pip pip2pi setuptools
  • /var/www/html 경로에 kolla-ansible 패키설치에 필요한 파일들을 다운로드함 ( 의존성 포함. )
# pip install –download /var/www/html kolla-ansible
kolla-ansible netaddr six setuptools pbr Jinja2 oslo.utils PyYAML oslo.config docker cryptography MarkupSafe pytz pyparsing debtcollector iso8601 funcsigs oslo.i18n netifaces monotonic stevedore rfc3986 backports.ssl-match-hostname docker-pycreds requests ipaddress websocket-client cffi enum34 asn1crypto idna wrapt Babel certifi chardet urllib3 pycparser
  • /var/ww/html 경로에 대하여 패키지 DB 파일 작성 ( createrepo 와 같은 작업 )
# dir2pi /var/www/html/
  • 해당 파일 목록 압축
# cd /var/www/html
# tar cvjfp pip_backup.tgz *

폐쇄망 환경에서 pip 패키지 설치 진행 – 본 작업

  • pip 명령을 사용하기 위하여 python-pip 패키지 설치 ( 해당 패키지는 epel Repository 에서 다운로드 받아야 함. )
# yum install python-pip -y

===================================================================================================================================================================================================
Package Arch Version Repository Size
===================================================================================================================================================================================================
Installing:
python2-pip noarch 8.1.2-5.el7 epel 1.7 M
Installing for dependencies:
python-backports x86_64 1.0-8.el7 base 5.8 k
python-backports-ssl_match_hostname noarch 3.4.0.2-4.el7 base 12 k
python-setuptools noarch 0.9.8-7.el7 base 397 k

Transaction Summary
===================================================================================================================================================================================================
  • 해당 파일 목록 압축 해제
# cd /var/www/html
# tar xvjfp pip_backup.tgz
  • ${HOME}/.pip/pip.conf 파일에 저장소 위치를 입력 함.
# vi ${HOME}/.pip/pip.conf

[global]
index-url = http://your.domain.lan/pip/simple
index-url = file:///var/www/html/simple

pip repository를 SSL인증서를 사용하여 HTTPS로 사용시에는 문제가 없지만 일반 HTTP로 구성하는경우에는 아래와 같은 오류가 발생하면서 동작하지 않는다.

The repository located at repository is not a trusted or secure host and is being ignored. If this repository is available via HTTPS it is recommended to use HTTPS instead, otherwise you may silence this warning and allow it anyways with '--trusted-host repository'.
  • 명령줄에서 --trusted-host 옵션을 이용하여 허용해주는 방법
$ pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org 설치할패키지이름

# 또는

$ python3 -m pip install --trusted-host pypi.python.org --trusted-host files.pythonhosted.org --trusted-host pypi.org 설치할패키지이름
  • ~/.pip/pip.conf 파일에 아래와 같이 등록하여 준다.
[global]
trusted-Host = pypi.python.org
               pypi.org
               files.pythonhosted.org
로그인하면 댓글을 남길 수 있습니다.
  • pip_python_package_manager_에_대한_local_repository_만들기.txt
  • 마지막으로 수정됨: 2021/08/18 13:18
  • 저자 koov