Что кто-то должен знать об использовании сценариев Python в оболочке?

Вы следуете инструкциям, отправленным в 2006:

Отправленный sebas в понедельник 9 октября 2006 в 12:49

Имеет смысл, они немного устареют :). Можно, вероятно, сделать эту работу с помощью netinstall, но это не будет почти наверняка стоить усилия. Просто получите установку Debian ISO, запишите его на CD или карту с интерфейсом USB и установите оттуда (инструкции здесь). После того как Вы сделаны, настраиваете свою сеть для WiFi.

2
04.04.2014, 00:52
3 ответа

PEP 394 определяет, как должен быть установлен Python и что использовать в строках shebang. Используйте #! / Usr / bin / env python2 для скриптов Python 2 и #! / Usr / bin / env python3 для скриптов Python 3 (и #! / Usr / bin / env python , если ваши скрипты совместимы с обоими).

На практике люди годами использовали #! / Usr / bin / env python в строках shebang, поэтому, если вы найдете там сценарий, который запрашивает python , скорее всего, это скрипт Python 2.

Поскольку Python 2 и Python 3 несовместимы, эти две версии будут сосуществовать долгое время. Это два разных языка, которые просто похожи, но не настолько, чтобы быть совместимыми для большинства программ. В большинстве систем python пока сохраняется как Python 2, но Arch Linux переключил python на Python 3; это несоответствие является причиной того, что PEP 394 рекомендует использовать явную версию в shebang. К сожалению, из-за того, что жизнь непроста, в некоторых старых системах может еще не быть python2 (Debian wheezy приобрел его только в крайнем случае).

Обратите внимание, что хотя «Python 2.x унаследован, Python 3.x - это настоящее и будущее языка» с точки зрения разработчиков языка, существует огромное количество кода Python 2. С точки зрения того, кто использует сторонние библиотеки (обилие которых является одним из преимуществ Python), настоящим является Python 2.

Что касается python-wrapper , это оболочка для выбирает между реализациями Python .Это вчерашняя обертка; сегодняшняя оболочка - python-exec . Я не знаю, что они делают.

3
27.01.2020, 21:52

Краткий ответ: используйте Python 3! Серьезно, это здорово! Я хочу, чтобы все дистрибутивы сделали Python 3 по умолчанию.

На вопрос, следует ли вам использовать Python 2 или Python 3, нелегко ответить, не зная о пользователях ваших программ и о том, какие библиотеки вы используете. Практика заставить его работать над обоими - отличное упражнение.

Используйте Python 2 в одном из следующих случаев:

  1. Вы используете библиотеку, которая еще не была перенесена. Осталось не так много библиотек, для которых требуется Python 2.
  2. Ваши цели развертывания или клиенты все еще застряли на Python 2.

Для получения более подробных ответов см. Python Wiki и веб-страницу по этому вопросу .

Строка #! / Usr / bin / env python (как сказано в другом ответе) ищет первый питон в вашем $ PATH . Virtualenv очень популярны для изоляции проектов и установок Python, поэтому я использую #! / Usr / bin / env python вместо простого #! / Usr / bin / python , чтобы мои virtualenvs работали . В документации Python он упоминается только в одном месте и используется именно этот вызов.Похоже, вам может понадобиться virtualenv для ваших проектов, содержащий интерпретатор Python 2. вопрос #! / usr / bin / env обсуждался здесь и здесь .

3
27.01.2020, 21:52

Когда кто-то использует #! / Usr / bin / env python в первой строке, он / она имеет в виду интерпретатор для запуска скрипта. является первым, найденным в $ PATH , они не предполагают, что скрипт совместим с обеими версиями.

Если вы хотите указать версию Python для использования в скрипте, вы можете сделать это так:

#!/usr/bin/env python2.7

или

#!/usr/bin/env python3.3
1
27.01.2020, 21:52

Теги

Похожие вопросы