A seconda del sistema, python
== python2
o python
== python3
.
Script Python eseguibili, inizia con:
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Per python py3k è fornito nella documentazione che dovrei / posso usare con il numero di versione , quindi faccio questo:
#!/usr/bin/env python3
Ma ho riscontrato un problema con gli script py2k.
Mentre in documentazione py2k è scritto per l'uso: #! /usr/bin/env python
,
su alcuni * nix-es python py3k è predefinito, quindi python == python3. (Ad esempio il pacchetto python di ArchLinux , qui i file del pacchetto python ).
Come impacchettare (configurare, creare) e / o preparare script Python per la distribuzione per gestirlo?
Chiedo di creare pacchetti software che possono essere eseguiti facilmente dagli utenti (senza modificare il loro ambiente)
Posso fare lo stesso trucco per gli script python py2k come per gli script python py3k e impostarlo come: #!/usr/bin/env python2
? Posso essere sicuro che ogni distribuzione di python py2k contenga python2
file, quindi #!/usr/bin/env python2
funzionerà?
In caso affermativo, perché non viene proposto come standard, ad esempio nella documentazione di python py2k ?
python2
. Mi chiedo perché non sia standard usarlo quando c'è py2k e py3k e il default python
può differire. Che dire dei tuoi consigli sulla rimozione - non è corretto per questo esempio, perché chiedo informazioni sulla confezione. Vorrei creare un pacchetto che può essere eseguito in diverse configurazioni / sistemi. Non c'è modo di modificare l'ambiente. Che dire del controllo - non si applica a Shebang - per quanto ne so.
#!...python2
nei tuoi programmi e se stai usando Python 3.x, quindi usa #!...python3
. Non fare affidamento sul sistema operativo per avere il collegamento giusto se sai che funzionerà solo su una versione specifica. Lavoro con sistemi che hanno ancora installato Python 1.5.2 come /usr/bin/python
: o scrivo codice per gestire versioni precedenti di Python o uso python2
.
python2
eseguibile sul mio sistema (compressione Debian). python
è un collegamento simbolico a python2.6
, ed python3
è un collegamento simbolico a python3.1
, ma non esiste python2
.
python2
per eseguirlo (se installato), e puoi sempre controllare la versione conpython -V
. se vuoi chepython
sia 2 o 3, dovrestirm /usr/bin/python
quindi creare un collegamento simbolico che punti dalla tua versione più desolata di Python, ad esln -s /usr/bin/python2.5 /usr/bin/python
.