Python Language
"pip"모듈의 사용법 : PyPI Package Manager
수색…
소개
때로는 Python 내부에서 pip package manager를 사용해야 할 수도 있습니다. 일부 가져 오기가 ImportError
시킬 수 있고 예외를 처리하려고 할 때. Windows에서 Python_root/Scripts/pip.exe
를 언팩하면 __main__.py
파일에 저장되며, 여기에는 pip
패키지의 main
클래스가 임포트됩니다. 이것은 pip 실행 파일을 사용할 때마다 pip 패키지가 사용됨을 의미합니다. 실행 파일로 pip를 사용하려면 pip : PyPI Package Manager를 참조하십시오.
통사론
- pip. <function | attribute | class> 여기서 function은 다음 중 하나입니다.
- 자동 완성 ()
- 주 옵션 파서 (및 옵션) 및 하위 명령 (및 옵션)에 대한 명령 및 옵션 완성. 완료 쉘 스크립트 (bash, zsh 또는 fish) 중 하나를 사용하여 활성화하십시오.
- check_isolated (args)
- param args {list}
- returns {boolean}
- create_main_parser ()
- {pip.baseparser.ConfigOptionParser 객체}를 반환합니다.
- main (args = None)
- param args {list}
- returns {integer} 실패하지 않은 경우 0을 반환합니다.
- parseopts (args)
- param args {list}
- get_installed_distributions ()
- {list}를 반환합니다.
- get_similar_commands (name)
- 명령 이름 자동 수정.
- 매개 변수 이름 {string}
- returns {boolean}
- get_summaries (ordered = True)
- 수율은 정렬 된 (명령 이름, 명령 요약) 튜플입니다.
- get_prog ()
- {string}을 반환합니다.
- dist_is_editable (dist)
- 배포판은 편집 가능한 설치입니까?
- param dist {object}
- returns {boolean}
- commands_dict
- 속성 {사전}
- 자동 완성 ()
명령의 사용 예
import pip
command = 'install'
parameter = 'selenium'
second_param = 'numpy' # You can give as many package names as needed
switch = '--upgrade'
pip.main([command, parameter, second_param, switch])
필요한 매개 변수 만 의무적이므로 pip.main(['freeze'])
과 pip.main(['freeze', '', ''])
모두 받아 들일 수 있습니다.
일괄 설치
하나의 호출에서 많은 패키지 이름을 전달할 수 있지만, 한 번의 설치 / 업그레이드가 실패하면 전체 설치 프로세스가 중지되고 '1'상태로 끝납니다.
import pip
installed = pip.get_installed_distributions()
list = []
for i in installed:
list.append(i.key)
pip.main(['install']+list+['--upgrade'])
일부 설치가 실패 할 때 중지하지 않으려면 설치를 루프로 호출하십시오.
for i in installed:
pip.main(['install']+i.key+['--upgrade'])
ImportError 예외 처리
파이썬 파일을 모듈로 사용할 때 패키지가 설치되어 있는지 항상 확인 할 필요는 없지만 여전히 스크립트에 유용합니다.
if __name__ == '__main__':
try:
import requests
except ImportError:
print("To use this module you need 'requests' module")
t = input('Install requests? y/n: ')
if t == 'y':
import pip
pip.main(['install', 'requests'])
import requests
import os
import sys
pass
else:
import os
import sys
print('Some functionality can be unavailable.')
else:
import requests
import os
import sys
강제 설치
예를 들어 버전 3.4의 많은 패키지는 3.6에서 제대로 실행되지만 특정 플랫폼에 대한 배포판이없는 경우에는 설치할 수 없지만 해결 방법이 있습니다. .whl 파일 (바퀴라고도 함)의 명명 규칙에 따라 특정 플랫폼에 패키지를 설치할 수 있는지 여부가 결정됩니다. 예 : scikit_learn‑0.18.1‑cp36‑cp36m‑win_amd64.whl
[package_name] - [version] - [python interpreter] - [python-interpreter] - [Operating System] .whl. 휠 파일의 이름이 변경되면 플랫폼이 일치하므로 py는 플랫폼 또는 파이썬 버전이 일치하지 않아도 패키지 설치를 시도합니다. 이름에서 플랫폼 또는 인터프리터를 제거하면 pip 모듈 kjhfkjdf.whl is not a valid wheel filename.
의 최신 버전에서 오류가 발생합니다 kjhfkjdf.whl is not a valid wheel filename.
.
대체로 .whl 파일은 아카이버를 7-zip으로 압축을 풀 수 있습니다. - 일반적으로 배포 메타 폴더와 소스 파일이있는 폴더가 있습니다. 이 파일에 설치 스크립트가 포함되어 있지 않으면이 소스 파일을 site-packges
디렉토리에 압축을 site-packges
됩니다. 그렇다면 먼저 실행해야합니다.