Myślę, że to łatwe pytanie, ale nie znalazłem jeszcze odpowiedzi, więc zamieszczam tutaj.Python Wheel Force ABI "none"
Mam aplikację Python 3, którą pakuję do koła platformy. Mam plik setup.py i wszystko działa zgodnie z oczekiwaniami. Jedyne, czego nie mogę zrozumieć, to wygenerowane koło zawsze zawiera znacznik ABI (np. "Cp34m"), a gdy to uwzględni, stwierdzam, że nie mogę faktycznie zamontować koła za pośrednictwem pip. (Mój skrypt instalacyjny instaluje najnowsze pip, setuptools i wheel przed uruchomieniem.)
Rozwiązanie jest proste. Po prostu zmieniam nazwę pliku koła, aby zmienić "cp34m" na "none". Jest to oczywiście łatwe do dodania do mojego skryptu budowania, ale zastanawiam się, czy można ustawić opcję bdist_wheel lub coś takiego, aby wygenerowany plik .whl nie ustawił się sam?
Komenda użyć do utworzenia koła jest (na przykład na x64):
python setup.py bdist_wheel --plat-name win_amd64
To tworzy koło, takich jak:
mpf_mc-0.30.0.dev269-cp34-cp34m-win_amd64.whl
Które Potem przemianowania przed przesłaniem do PyPI do:
mpf_mc-0.30.0.dev269-cp34-none-win_amd64.whl
Wszystko wydaje się działać poprawnie, ręcznie zmieniając jego nazwę. Zastanawiam się jednak, czy to właściwy sposób, czy też czegoś brakuje?
Mam to samo pytanie i jestem tym zaskoczony. http://stackoverflow.com/questions/35005870/christoph-gohlke-naming-convention-for-unofficial-windows-binaries-for-python-ex?rq=1 też mnie nie oświeciło. – Stephan