Mam program, który używa dateutil
z indeksu paczki. Chciałbym, aby setup.py sprawdził jego obecność i spróbował go pobrać używając easy_install
, jeśli go tam nie ma.Jak wymagać i instalować pakiet przy użyciu Pythona 3.x distutils?
The documentation for distutils
wskazuje na to, że można to zrobić za pomocą słowa kluczowego requires
w setup()
, ale gdy próbuję, instaluje w systemie bez dateutil
nie dając ostrzeżenie lub instalowania wymaganego pakietu.
Jedyne, co mogłem znaleźć w Google, to this blog post about the same issue, które również nie miało odpowiedzi.
Czy używam niewłaściwego numeru distutils
? Czy muszę podklasę distutils.command.install
i sam sprawdzać/instalować?
wymaga argumentem distutils jest bezużyteczny i nieużywane, musisz użyć plików wymagań pip lub setuptools 'install_requires argument, dopóki PEP 345 nie zostanie powszechnie użyty (to sprawia, że install_requires jest oficjalnie wspierany, z nową nazwą: requires-dist; distutils2 ją obsługuje). –
UWAGA: ten komentarz stał się nieaktualny; Dystrybucja i narzędzia konfiguracji zostały połączone. Setuptools ma teraz pełną obsługę 3.x. – Kevin
@Kevin, dzięki za przypomnienie; wiele się zmieniło od czasu napisania oryginalnej odpowiedzi. Zaktualizowałem odpowiedź, aby odzwierciedlić bardziej aktualny stan świata: scalenie narzędzia Distribute i setuptools, zakończenie rozwoju distutils2, błogosławieństwo 'pip' jako oficjalnego instalatora pakietów Python i nowego' Python Packaging User Przewodnik ". –