는 프로그래밍 파이썬에게 pip
패키지를 사용하여 할 수있는 방법은 다음과 같습니다
from pip._vendor import pkg_resources # Ensure pip conf index-url pointed to real PyPi Index
# Get dependencies from pip
package_name = 'Django'
try:
package_resources = pkg_resources.working_set.by_key[package_name.lower()] # Throws KeyError if not found
dependencies = package_resources._dep_map.keys() + ([str(r) for r in package_resources.requires()])
dependencies = list(set(dependencies))
except KeyError:
dependencies = []
을 그리고 여기 당신이 PyPi의 API에서 의존성을 얻을 수있는 방법입니다 :
import requests
import json
package_name = 'Django'
# Package info url
PYPI_API_URL = 'https://pypi.python.org/pypi/{package_name}/json'
package_details_url = PYPI_API_URL.format(package_name=package_name)
response = requests.get(package_details_url)
data = json.loads(response.content)
if response.status_code == 200:
dependencies = data['info'].get('requires_dist')
dependencies2 = data['info'].get('requires')
dependencies3 = data['info'].get('setup_requires')
dependencies4 = data['info'].get('test_requires')
dependencies5 = data['info'].get('install_requires')
if dependencies2:
dependencies.extend(dependencies2)
if dependencies3:
dependencies.extend(dependencies3)
if dependencies4:
dependencies.extend(dependencies4)
if dependencies5:
dependencies.extend(dependencies5)
dependencies = list(set(dependencies))
당신은 호출하는 재귀를 사용할 수 있습니다 의존성의 의존성은 전체 트리를 얻는다. 건배!
귀하의 질문은 실제로는 너무 광범위합니다. 게시물에 너무 많은 질문을 넣지 말고 실용적이고 답변 할 수 있도록하십시오. 귀하의 요점 3. 구체적인 대답보다는 토론 및 쇼핑 목록을 초청합니다. –