Залежно від системи, python
== python2
або python
== python3
.
Виконувані сценарії Python починаються з:
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3...
Для python py3k це передбачено в документації, я повинен / можу використовувати його з номером версії , тому я роблю це:
#!/usr/bin/env python3
Але я знайшов проблему зі сценаріями py2k.
У той час як в py2k документації написано використовувати: #! /usr/bin/env python
,
на деяких * nix-es python py3k за замовчуванням, тому python == python3. (Наприклад, пакет пакунків ArchLinux python , тут файли пакунків python ).
Як упакувати (налаштувати, зробити) та / або підготувати сценарії python для розповсюдження для цього?
Я запитую про створення програмних пакетів, які користувачі можуть легко запускати (без модифікації свого середовища)
Чи можу я зробити такий же трюк для скриптів python py2k, як і для скриптів python py3k, і встановити його як #!/usr/bin/env python2
:? Чи можу я бути впевнений, що кожен дистрибутив python py2k містить python2
файл, так #!/usr/bin/env python2
буде працювати?
Якщо так, то чому це не пропонується як стандарт, наприклад, у документації python py2k ?
python2
. Цікаво, чому це не стандартно використовувати його, коли є py2k і py3k і за замовчуванням python
можуть відрізнятися. Що стосується ваших порад щодо вилучення - це не правильно для цього прикладу, тому що я запитую про упаковку. Я хотів би зробити пакет, який може працювати в різних конфігураціях / системах. Ні в якому разі щодо зміни середовища. Що щодо перевірки - це не стосується Shebang - наскільки я знаю.
#!...python2
у своїх програмах, а якщо ви використовуєте Python 3.x, то використовуйте #!...python3
. Не покладайтеся на те, що операційна система матиме правильне посилання, якщо ви знаєте, що вона працюватиме лише в певному випуску. Я працюю з системами, на яких ще встановлено Python 1.5.2 як /usr/bin/python
- я або пишу код для обробки старих версій Python, або використовую python2
.
python2
виконуваного файлу в моїй системі (видавлювання Debian). python
є символьним посиланням на python2.6
, і python3
є символьним посиланням на python3.1
, але його немає python2
.
python2
для запуску (якщо він встановлений), і завжди ви можете перевірити версіюpython -V
. якщо ви хочете, щобpython
це було 2 або 3, вам слідrm /usr/bin/python
створити символьне посилання, яке вказує на вашу версію пізерного пітону, наприкладln -s /usr/bin/python2.5 /usr/bin/python
.