program tip

pip로 여러 버전의 패키지 설치

radiobox 2020. 12. 2. 08:19
반응형

pip로 여러 버전의 패키지 설치


내 응용 프로그램에서 다음을 사용하고 싶습니다.

  • packageA, 필요한 packageX==1.3
  • packageB, 필요한 packageX==1.4
  • packageX==1.5

packageX이 상황을 처리하기 위해 pip로 여러 버전을 설치하려면 어떻게해야 합니까?


pip는 이것을 도와주지 않을 것입니다.

특정 버전을 설치하도록 지시 할 수 있지만 다른 버전을 재정의합니다. 반면에 두 개의 virtualenv를 사용하면 동일한 머신에 두 버전을 모두 설치할 수 있지만 동시에 사용할 수는 없습니다.

가장 좋은 방법은 두 버전을 다른 이름으로 Python 경로에 넣어 수동으로 설치하는 것입니다.

그러나 두 라이브러리가 동일한 이름을 가질 것으로 예상하는 경우 (그리고 그래야만하는 경우) 다음과 같은 일부 가져 오기 별칭으로 필요한 버전을 선택하도록 수정해야합니다.

import dependencyname_version as dependencyname

현재이를위한 깨끗한 방법은 없습니다. 당신이 바랄 수있는 최선은이 해킹이 작동하는 것입니다.

차라리 두 라이브러리 중 하나를 버리고 동등한 것으로 교체하거나 패치를 패치하여 종속성의 새 버전을 수락하고 패치를 커뮤니티에 다시 제공하고 싶습니다.


EA에 대한 소스를 다운로드하십시오. 꾸러미. 각각 별도의 폴더에 설치하십시오. 예를 들면. 버전 1.10 패키지가 있었지만 일부 작업을 위해 개발 버전으로 전환하고 싶었습니다. dev 모듈의 소스를 다운로드했습니다. git clone https://github.com/networkx/networkx.git cd netowkrx이 버전에 대한 폴더를 만든 mkdir /home/username/opt/python다음 PYTHONPATH env var를 다음으로 설정했습니다 export PYTHONPATH=/home/username/opt/python/lib/python2.7/site-packages/. 다음으로 다음을 사용하여 설치했습니다.python setup.py install --prefix=/home/username/opt/python

이제 내 PYTHONPATH가 다른 사이트 패키지 폴더를 가리키고 있기 때문에 명령 줄에서 python을 실행하고 새 모듈을 가져올 때 작동합니다. 다시 전환하려면 PYTHONPATH에서 새 폴더를 제거하십시오.

>>> import networkx as nx
>>> nx.__version__
'2.0.dev_20151209221101'

참고 URL : https://stackoverflow.com/questions/6570635/installing-multiple-versions-of-a-package-with-pip

반응형