Модуль: Language::Python::Shebang Приватный
- Расширяется модулем:
- T::Helpers
- Определён в:
- language/python.rb
Обзор
Этот модуль является частью приватного API. Этот модуль можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого модуля, поскольку он может быть удалён или изменён без предупреждения.
Модуль-примесь для Formula, добавляющий функции переписывания шебанга.
Краткое описание констант свернуть
- PYTHON_SHEBANG_REGEX =
Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
Регулярное выражение для поиска возможных вариантов шебанга.
%r{\A#! ?(?:/usr/bin/(?:env )?)?python(?:[23](?:\.\d{1,2})?)?( |$)}- PYTHON_SHEBANG_MAX_LENGTH =
Эта константа является частью приватного API. Эту константу можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этой константы, поскольку она может быть удалена или изменена без предупреждения.
Длина самого длинного шебанга, соответствующего
SHEBANG_REGEX. T.let("#! /usr/bin/env pythonx.yyy ".length, Integer)
Краткое описание методов класса свернуть
Подробное описание методов класса
.detected_python_shebang(formula = T.cast(self, Formula), use_python_from_path: false) ⇒ Utils::Shebang::RewriteInfo
Этот метод является частью приватного API. Этот метод можно использовать только в репозитории Homebrew/brew. Сторонним разработчикам по возможности следует избегать использования этого метода, поскольку он может быть удалён или изменён без предупреждения.
116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 | # File 'language/python.rb', line 116 def detected_python_shebang(formula = T.cast(self, Formula), use_python_from_path: false) python_path = if use_python_from_path "/usr/bin/env python3" else python_deps = formula.deps.select(&:required?).map(&:name).grep(/^python(@.+)?$/) raise ShebangDetectionError.new("Python", "formula does not depend on Python") if python_deps.empty? if python_deps.length > 1 raise ShebangDetectionError.new("Python", "formula has multiple Python dependencies") end python_dep = python_deps.first Utils::Path.formula_opt_bin(python_dep)/python_dep.sub("@", "") end python_shebang_rewrite_info(python_path) end |
© 2009–present Homebrew contributors
Licensed under the BSD 2-Clause License.
https://docs.brew.sh/rubydoc/Language/Python/Shebang.html