pip는 꼭 필요한 패키지를 제거하는 것만 같습니다! 패키지가 특정 버전의 패키지를 명시 적으로 선언하면 pip가 해당 패키지를 제거하지 못하는 것 같지만 그렇지 않습니다. 고려 :pip가 필요한 패키지를 제거하는 이유는 무엇입니까?
$ pip list | grep bar
bar 1.0
$ cat setup.py
from setuptools import setup, find_packages
def do_setup():
setup(
name='foo',
description='the foo package',
license='MIT',
version='1.0',
install_requires=[
'bar==1.0',
],
)
if __name__ == "__main__":
do_setup()
$ pip install .
Processing /Users/williamp/examples/pip/foo
Requirement already satisfied (use --upgrade to upgrade): foo==1.0 from file:///Users/williamp/examples/pip/foo in /Users/williamp/tmp/virt/lib/python2.7/site-packages
Requirement already satisfied: bar==1.0 in /Users/williamp/tmp/virt/lib/python2.7/site-packages (from foo==1.0)
$ cd ../bar
$ pip install dist/bar-1.1.tar.gz
Processing ./dist/bar-1.1.tar.gz
Building wheels for collected packages: bar
Running setup.py bdist_wheel for bar ... done
Stored in directory: /Users/williamp/Library/Caches/pip/wheels/bf/d3/68/6016190bb2084f62ba1107c63bea948f4cfbb2c129fa0cb102
Successfully built bar
Installing collected packages: bar
Found existing installation: bar 1.0
Uninstalling bar-1.0:
Successfully uninstalled bar-1.0
Successfully installed bar-1.1
내가 패키지 foo는이 바 == 1.0에 명시 적으로 종속와 함께 설치되는 상황에서 바람 것 같다,하지만 핍 바 1.0을 제거하고 시스템이 불안정한 상태에서 지금이다. 거기에 몇 가지 간단한 구성 옵션을 내가 이것을 pip
에 전달할 수 있습니까?
의존성없이 패키지를 설치하고 싶지 않습니다! 모든 의존성이 설치되도록 pip에 의존하고 싶습니다. –
당신이 찾고있는 것을 달성하기위한 깨끗한 방법이없는 것처럼 보입니다. 이것은 pip가 패키지와 같은 이름의 의존성을 설치하려고한다는 사실과 관련이있는 것 같습니다. https://github.com/pypa/pip/issues/304. 그들이 pip check를 실행해야 할 필요가있을 것입니다. –