A seconda del sistema, python== python2o 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 python2file, quindi #!/usr/bin/env python2funzionerà?
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 pythonpuò 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.
#!...python2nei 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.
python2eseguibile sul mio sistema (compressione Debian). pythonè un collegamento simbolico a python2.6, ed python3è un collegamento simbolico a python3.1, ma non esiste python2.
python2per eseguirlo (se installato), e puoi sempre controllare la versione conpython -V. se vuoi chepythonsia 2 o 3, dovrestirm /usr/bin/pythonquindi creare un collegamento simbolico che punti dalla tua versione più desolata di Python, ad esln -s /usr/bin/python2.5 /usr/bin/python.