So che c'è un --target-version = 2.6 opzione per setup.py, che può essere utilizzato con caricati, ma questo non sembra essere inteso come '2.6 o superiore'
In realtà è un'opzione per bdist_wininst o bdist_msi e in effetti non include "o superiore".
Il comando di installazione ha un'opzione install_requires, ma questo è per i pacchetti richiesti , .not interprete Python.
Forse mettendo 'Python> = 2.6' in install_requires potrebbero funzionare: Python 2.5 fino a 3,2 creano un file Python-blahblah-pyXY.egg-info, quindi, se siete fortunati easy_install possono trovare che il requisito è soddisfatto. In caso contrario sarà probabilmente cercherà di scaricare da PyPI, così uh ...
avrei potuto fare qualcosa di simile in setup.py di 'foo 0.2.0': se sys.hexversion < 0x02060000: rilancio RuntimeError ('Questo pacchetto richiede Python 2.6 o successivo, prova a 0.1.7')
Questo è in realtà l'attuale linguaggio comune. Inoltre, utilizzando i classificatori di "Programming Language :: Python :: X.Y" verranno fornite informazioni per gli esseri umani (non sono a conoscenza di alcun strumento che usi tali informazioni).
Nel futuro a breve termine, c'è speranza. La specifica per i metadati delle distribuzioni Python è stata aggiornata e la versione più recente contiene un campo per richiedere una versione Python specifica: http://www.python.org/dev/peps/pep-0345/#requires-python
Per quanto riguarda il supporto degli strumenti: le distutils sono bloccate e non la supportano, setuptools può o non può aggiungere supporto, la sua fork distribution probabilmente otterrà supporto, e distutils2/packaging lo supporta già. distutils2 include un programma di installazione di base chiamato pysetup, che dovrebbe rispettare il campo Requires-Python (in caso contrario, si prega di segnalare a bugs.python.org).
Ora, per affrontare il problema in questo momento, si può fare una di queste cose: - dichiara che il progetto supporta solo 2.6+ - documento che 2.4 gli utenti devono appuntare la versione durante il download (ad esempio pip install "pippo == 0.1.7 ")
+1 per questa risposta dettagliata, grazie! – mar10