Ho un programma che utilizza dateutil
dall'indice del pacchetto. Mi piacerebbe avere setup.py per verificare la sua presenza e provare a farlo usando easy_install
se non è lì.Come richiedere e installare un pacchetto usando python 3.x distutils?
The documentation for distutils
sembra indicare che questo può essere fatto utilizzando la parola chiave requires
in setup()
, ma quando provo, si installa su un sistema senza dateutil
senza dare un avvertimento o di installare il pacchetto richiesto.
L'unica cosa che ho trovato su google è stata this blog post about the same issue che non ha avuto alcuna risposta.
Sto usando distutils
sbagliato? Devo creare sottoclasse distutils.command.install
e fare il controllo/l'installazione da solo?
Il richiede argomentazione a distutils è inutilizzabile e inutilizzato, devi usare i file dei requisiti di pip o l'argomento install_requires di setuptools fino a quando non viene ampiamente utilizzato PEP 345 (rende ufficialmente supportato install_requires, con un nuovo nome: require-dist; distutils2 lo supporta). –
NB: questo commento è diventato obsoleto; Distribuisci e setuptools si sono uniti. Setuptools ora ha pieno supporto 3.x. – Kevin
@ Kevin, grazie per il promemoria; molto è cambiato da quando è stata scritta la risposta originale. Ho aggiornato la risposta per riflettere uno stato più attuale del mondo: l'unione di Distribute e setuptools, la fine dello sviluppo di distutils2, la benedizione di 'pip' come programma di installazione del pacchetto Python ufficiale e il nuovo' Python Packaging User Guide'. –