setup.py
파일에 핏이 수집되지 않도록하고 지원되지 않는 Python 버전을 사용할 때 패키지를 설치하지 못하게하려면 어떻게해야합니까? 예를 magicstack
를 들어이전 Python 버전에 패키지가 설치되지 않도록 방지
는 관은 분류와 함께 나열하는 프로젝트입니다 :
그래서pip --version
경우 다음과 같은 동작이 2.7 파이썬 연결되어 기대하는
Programming Language :: Python :: 3 :: Only
:
$ pip install magicstack
Collecting magicstack
Could not find a version that satisfies the requirement magicstack (from versions:)
No matching distribution found for magicstack
을하지만 실제 행동이다 pip는 릴리스를 수집하고, 다운로드하고, 설치하려고 시도하며 실패합니다. 예를 들어 curio
과 같은 다른 Python3 전용 릴리스가 있습니다. setup.py
은 Python 3 특정 기능을 사용하지 않았기 때문에 실제로 제대로 설치됩니다. 일부 Python 3 구문 만 사용되는 경우 가져 오기에는 실패합니다. 그리고 OK, import OK를 인스톨하는 꾸러미가 있고, 단지 런타임에만 실패 할 것이라고 확신합니다!
pip가 존중하는 방식으로 지원되는 Python 버전을 지정하는 올바른 방법은 무엇입니까? 휠 파일 만 업로드하고 .tar.gz 배포본 업로드를 거부하는 등의 임시 해결 방법을 발견했지만 올바른 수정 방법을 알고 싶습니다.
편집 : 어떻게 핍을 을 알지 않는 파이썬/OS/아키텍처가 일치하지 않는 경우 륜 분배를 다운로드? 그냥 .whl filename convention을 사용합니까, 아니면 그 뒤에서 일어나는 것보다 더 정교한 것이 있습니까? .tar.gz 업로드를 통해 pip가 올바른 작업을 수행 할 수 있도록 메타 데이터를 소스 배포본에 제공 할 수 있습니까?
나는 이것이 _right_ 대답이라는 것을 모른다. 그러나'magicstack'은 python2.x에서'setup.py'가 실패했기 때문에 python3 만 쓰면이 작업을 할 수있는 한 가지 방법처럼 보입니다. 당신의'setup.py'가 부적절한 파이썬 버전에서 실패하도록 강요하십시오 ... – mgilson
Hacky. pip가 지원되지 않는 파이썬 인터프리터에 묶여 있다면, 나는'setup.py'을 실행하여 설치를 시도하는 것뿐만 아니라 패키지를 수집하거나 전혀 다운로드하지 않기를 바란다. – wim
Google은 [previous] (http://stackoverflow.com/questions/13924931/setup-py-restrict-the-allowable-version-of-the-python-interpreter) [questions] (http : // stackoverflow .com/questions/13385337/distribute-distutils-specify-python-version)'setup.py'가 파이썬 버전을 검사하도록하는 해답이 있습니다. – user2357112