В зависимости от системы, 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. (Например, пакет Python ArchLinux , здесь файлы пакета Python ).
Как упаковать (настроить, сделать) и / или подготовить сценарии Python для распространения, чтобы справиться с этим?
Я спрашиваю о создании пакетов программного обеспечения, которые могут легко запускаться пользователями (без изменения их среды)
Могу ли я сделать то же трюк для питона py2k сценариев , как для питона py3k скриптов и установить его как: #!/usr/bin/env python2? Могу ли я быть уверен, что каждый дистрибутив python py2k содержит python2файл, так что #!/usr/bin/env python2будет работать?
Если да, то почему это не предлагается в качестве стандарта, например, в документации по python py2k ?
python2. Интересно, почему это не стандартно использовать, когда есть py2k и py3k и по умолчанию pythonможет отличаться. Как насчет вашего совета по удалению - это не соответствует этому примеру, потому что я спрашиваю об упаковке. Я хотел бы сделать пакет, который может работать в разных конфигурациях / системах. Нет способа изменить среду. Что касается проверки - это не относится к Шебангу - насколько я знаю.
#!...python2в своих программах, а если вы используете Python 3.x, используйте #!...python3. Не полагайтесь на правильную ссылку в операционной системе, если вы знаете, что она будет работать только для определенного выпуска. Я работаю с системами, в которых все еще установлен Python 1.5.2 /usr/bin/python- я либо пишу код для обработки старых версий Python, либо использую его python2.
python2исполняемого файла в моей системе (Debian squeeze). pythonявляется символической ссылкой на python2.6, и python3является символической ссылкой на python3.1, но нет python2.
python2для запуска (если он установлен), и всегда вы можете проверить версию сpython -V. если вы хотите, чтобыpythonэто было 2 или 3, вы должныrm /usr/bin/pythonи затем создать символическую ссылку, которая указывает на вашу версию Python, напримерln -s /usr/bin/python2.5 /usr/bin/python.