반응형
python 버전에 따라 requirements.txt
6을 사용하여 python2 패키지를 python3 (내 소유가 아님)로 이식하여 두 패키지 모두와 호환되도록 시도하고 있습니다. 그러나 requirements.txt에 나열된 패키지 중 하나가 이제 python3 stdlib에 포함되어 있고 pypi 버전이 python3에서 작동하지 않으므로 조건부로 제외하고 싶습니다. setup.py에서이 작업을 수행하는 것은 쉽습니다. 다음과 같이 할 수 있습니다.
if sys.version_info[0] == 2:
requirements += py2_requirements
else:
requirements += py3_requirements
하지만 requirements.txt가 올바른 목록을 반영하도록하고 싶습니다. pip 문서에서 이것에 대해 아무것도 찾을 수 없습니다. 그렇게하는 방법을 아는 사람이 있습니까? 아니면 가능하다면?
당신이 사용할 수있는 환경 마커를 이를 달성하기 위해 requirements.txt
이후 pip 6.0
:
SomeProject==5.4; python_version < '2.7'
SomeProject; sys_platform == 'win32'
다음에서 추가 요구 사항을 선언하여 setuptools에서도 지원됩니다 setup.py
.
setup(
...
install_requires=[
'six',
'humanize',
],
extras_require={
':python_version == "2.7"': [
'ipaddress',
],
},
)
요구 사항 지정자를 참조하십시오 . 그리고 문자열 파이썬 명령을 해당의 문자열 버전.
여러 요구 사항 파일을 생성하고 이러한 공통 패키지를 공통 파일에 넣고 다음을 사용하여 다른 pip 요구 사항 파일에 포함 할 수 있습니다. -r file_path
requirements/
base.txt
python2.txt
python3.txt
python2.txt :
-r base.txt
Django==1.4 #python2 only packages
python3.txt :
-r base.txt
Django==1.5 #python3 only packages
pip install -r 요구 사항 /python2.txt
참고 URL : https://stackoverflow.com/questions/19559247/requirements-txt-depending-on-python-version
반응형
'Programing' 카테고리의 다른 글
터미널에서 vim을 사용하는 방법은 무엇입니까? (0) | 2020.10.31 |
---|---|
Python의 백그라운드 함수 (0) | 2020.10.30 |
API 응답에서 얻은 색상 리소스의 값을 프로그래밍 방식으로 변경 (0) | 2020.10.30 |
Nougat의 android.os.TransactionTooLargeException (0) | 2020.10.30 |
XML 직렬화 직렬화 가능한 개체의 일반 목록 (0) | 2020.10.30 |