Po otrzymaniu kolejnego zgłoszenia błędu, że pythonowa paczka (tym razem #VirtualEnv) nie buduje się, bo użytkownik nie ma dostatecznie nowej wersji paczki #TroveClassifiers, zgłosiłem wniosek o to, by #Hatchling uczyniło weryfikację "trove classifiers" opcjonalną, albo przynajmniej nie traktowało jej niepowodzenia jako błędu.
W tej chwili z tym się po prostu nie da ujechać. Technicznie rzecz biorąc, każda paczka musiałaby deklarować minimalną wersję paczki trove-classifiers, która dostarcza niezbędne im identyfikatory, a my musielibyśmy kopiować te specyfikacje do ebuildów w #Gentoo. Jednakże to mało prawdopodobne, więc w praktyce zmuszeni jesteśmy sprawdzać wszystkie identyfikatory, używane przez paczki, i dopasowywać je do wersji trove-classifiers. Albo — bardziej realistycznie — zawsze wymagać najnowszej dostępnej wersji, i mieć nadzieję, że nie zapomnimy regularnie aktualizować tej zależności.
"""
Szczerze mówiąc, uważam, że największym problemem jest to, że dystrybucja oprogramowania w Pythonie jest nieskończenie skomplikowana i nieintuicyjna, co oznacza, że każda osoba, która chce się tym zająć z którejkolwiek strony, ku swojemu zaskoczeniu odkryje bardzo wysoki próg wejścia. #Gentoo#Python Guide ma już 300 KiB plików .rst, i w żaden sposób nie jest kompletne. W tej chwili, przeciętny dev nie jest w stanie wrzucić czegokolwiek napisanego w Pythonie do dystrybucji, nie przechodząc wcześniej specjalnego szkolenia i/lub otrzymując przeglądu kodu od kogoś bardziej doświadczonego, a i owi seniorzy mają sporą trudność w nadążaniu za ciągłymi zmianami.
Jednocześnie, framework Pythona w Gentoo ma już sporo zabezpieczeń, które wykrywają najczęstsze błędy. To jednak też nie jest w żaden sposób kompletne, i dokładam kolejne, ilekroć odkrywamy kolejną nieintuicyjną pułapkę. Z tego wątku odnoszę wrażenie, że będziemy musieli dodać kolejne zabezpieczenie, które będzie upewniać się, że kiedy pyproject.toml jest modyfikowany, zajęto się również PKG-INFO.
"""
Ciekawostka: jeśli masz plik .gitignore w jakimkolwiek katalogu nadrzędnym, #Hatchling go przeczyta. Agresywnie. Każdy jeden plik.
Zrobi to nawet wówczas, gdy .gitignore jest poza repozytorium.
Zrobi to nawet wówczas, jeżeli nie ma żadnego repozytorium gita!
Zrobi to nawet wówczas, gdy .gitignore nakazuje ignorować katalog z twoją paczką, czyli kiedy w ogóle nie powinien być traktowany jako część repozytorium.
W tym ostatnim przypadku, zaskoczy cię tworząc archiwum wheel bez jakiegokolwiek pliku .py. I tak, oczywiście, musieliśmy rozkminiać dziwaczny błąd z tego powodu.
Wynajdywanie koła na nowo zwykle nie jest dobrym pomysłem.
I've marked #pdm-#pep517 package deprecated in #Gentoo. Some of the remaining revdeps have already been migrated away in their VCS repositories, one has pull request open, and I've filed pull requests to migrate the remaining three to pdm-backend: