Почему «#! / Usr / bin / env python» предположительно более корректен, чем просто «#! / Usr / bin / python»?

Кто-нибудь знает это? Я никогда не мог найти ответа.

5 Solutions collect form web for “Почему «#! / Usr / bin / env python» предположительно более корректен, чем просто «#! / Usr / bin / python»?”

Если вы склонны устанавливать python в разных и интересных местах вашего PATH (как в $PATH в типичных Unix-оболочках, %PATH на обычных Windows-системах), использование /usr/bin/env будет соответствовать вашей прихоти (ну, в Unix по крайней мере), при переходе непосредственно в /usr/bin/python этого не произойдет. Но потеря контроля над версией Python, на которой работают ваши скрипты, не является выгодной сделкой … если вы посмотрите на мой код, вы, скорее всего, начнете с него, например: #!/usr/local/bin/python2.5 а не с открытым и принимающим #!/usr/bin/env python – если сценарий важен, мне нравится, чтобы он запускался с конкретной версией, которую я тестировал, и разработал ее, а не полуслучайным 😉 ,

Из Википедии

Shebangs указывают абсолютные пути к системным исполняемым файлам; это может вызвать проблемы с системами, которые имеют нестандартные макеты файловой системы

Часто программа / usr / bin / env может использоваться для обхода этого ограничения

он находит исполняемый файл python в вашей среде и использует это. это более переносимо, поскольку python может не всегда находиться в / usr / bin / python. env всегда находится в / usr / bin.

Он находит «python» также в / usr / local / bin, ~ / bin, / opt / bin, … или везде, где он может скрываться.

Вы можете найти этот пост, представляющий интерес: http://mail.python.org/pipermail/python-list/2008-May/661514.html

Это может быть лучшим объяснением: http://mail.python.org/pipermail/tutor/2007-June/054816.html

  • Напишите строку из 1 и 0 в двоичный файл?
  • Ошибка: команда 'gcc' не удалась с статусом выхода 1 на CentOS
  • Python - ValueError: неизвестный язык: UTF-8
  • Бродяга не устанавливает пип во время предоставления
  • Python эквивалент bash sort лексикографический и численный
  • Сохранить JSON, выводимый из URL-адреса в файл
  • запустить работу crontab, используя enanonda env
  • отправка кода из vim в stata
  •  
    Interesting Posts for Van-Lav

    Как запустить WordCountTopology от штормового стартера в Intellij

    Объединение двух или более столбцов, которые не перекрываются

    Python удаляет дубликаты и сохраняет результат

    Как я могу перечислить все связанные с внешним ключом объекты в панели администратора Django?

    Kivy: Как заставить виджет вести себя как переполнение: скрытый

    Проблема с sklearn: обнаружены массивы с непоследовательным числом выборок при выполнении регрессии

    Как получить доступ к элементу набора с использованием эквивалентного объекта?

    Как проверить орфографию python docstring с emacs?

    Зарегистрировать все запросы из модуля python-requests

    Вход в Django и gunicorn

    Последовательность элементов в списке, удовлетворяющих условию

    Python поддерживает ограниченную форму множественного наследования. Каким образом ограничено?

    Добавление комментариев к YAML, созданных с помощью PyYaml

    Python NLTK pos_tag не возвращает правильный тег части речи

    Как скорость ironpython сравнивается с другими языками .net?

    Python - лучший язык программирования в мире.