2017-10-11 11 views
0

파이썬 2.4-2.7에서 작동하는 패키지가 있습니다. 3.2-3.7. 이것은 파이썬 2 또는 파이썬 3 모두가 아니라 특정 버전입니다.파이썬 버전의 특정 집합에 파이썬 휠을 만들려면 어떻게해야합니까? py2.py3-none-any.whl이 너무 넓습니다

이 패키지는 다른 소스 코드로 파이썬 2.4 및 2.5를 지원합니다.

각 버전마다 달걀을 배포했는데 매우 구체적이어서 setup.py bdist_wheel은 일치하지 않으려는 Python 버전과 일치하는 너무 광범위한 것을 만들고있었습니다.

휠을 만들었을 때 py2.py3-non-any.whl 확장자는 Python 2.4와 2.5에서 잘못되었습니다. (그리고 tarball도 마찬가지입니다.)

PyPi는 하나의 타르볼 만 허용하므로 지금은 2.4, 2.5 이외의 소스를 사용합니다. 2.4 2.5 소스도 포함시킬 수 있으면 좋을 것입니다. 어쩌면 내가 지퍼로 할 수 있을까? (아마).

어떻게하면 py35-non-any.whl을 원한다는 것을 setup.py에 알릴 수 있습니까? 또는 py2가 2.6 또는 2.7로 지정 되었습니까? 그리고 단지 3.2 이상을위한 py3.

또는 더 일반적으로 파이썬 버전 1이 실행되고 있어도 pip가 올바른 pypi 파일을 선택하도록하는 쉬운 방법은 무엇입니까?

+0

왜 13 세의 Python 버전을 처음부터 지원하려고합니까? – jwodder

+0

왜 안 되니? 코드의 목표는 모든 버전의 Python 바이트 코드를 처리하는 것입니다. 따라서 모든 버전에서 코드를 실행하는 것이 편리합니다. 그런데 파이썬 공동체에서 어려운 일이 있거나 파이썬이 잘 지원하지 않거나 툴링과 생각이 부족하다면, 파이썬이나 파이썬이나 툴이나 생각이 불완전하다는 것을 인정하는 것보다 "너는 그렇게하고 싶지 않아"라고 말합니다. – rocky

+0

질문이 정말 어려울 때 SO에서 질문하는 것이 무의미하기 때문에. 대신 직접 솔루션을 찾고 GH에 코드를 게시하고 블로그 게시물에 솔루션을 설명해야합니다. – phd

답변

0

setup.py bdist_wheel을 실행하고 너무 일반적인 것을 만들면 다음과 같이 간단하게 처리 할 수 ​​있습니다. 파일의 이름을 변경하십시오.

필자는 Pypi의 배포판에서이 작업을 시도했으며 작동합니다. 타르볼보다 휠이 더 선호되며 해당 버전의 휠을 당깁니다. 프로그램 실행이 계속됩니다.

setup.py bdist_wheelfoo-1.2.3-py2.py3-none-any.whl으로 작성되었지만 모든 버전의 Python 2와 Python 3을 필요로하지는 않으므로 잘못되었습니다. 매우 구체적인 버전입니다.

그러나, 예를 들어, 나는이/I의 이름을 변경, 파이썬 2.7 및 파이썬 3.6에서만 작동에 적응에 복사 할 경우 :

foo-1.2.3-py27-none-any.whl 
foo-1.2.3-py36-none-any.whl 

수행하는 방법에 대한 다른 생각과 아이디어가있을 수 있습니다, 그래서 나는 이것을 열어 둔다. 이것이 실제로 가장 간단한 일이라면, setup.py 안에 옵션이 있거나 그것의 이름이 바뀌도록 bdist_wheel을 처리하는 옵션이 있다면 좋을 것입니다.

명명 규칙에서 허용되는 범위는 3.5-3.7이라고 지정할 수 있습니까? 또는 어떻게 든 py25.py26.py27과 같은 목록을 줄 수 있습니까?