Остановить Python от создания файлов pyc в shebang [дубликат]
этот вопрос уже есть ответ здесь:
- Как избежать .файлы pyc? 9 ответов
есть ли способ остановить создание python .pyc файлы, уже в shebang (или магическое число, если хотите) скрипта Python?
Не работает:
#!/usr/bin/env python -B
4 ответов
это возможно, поставив свой путь Python interperter непосредственно в she bang вместо использования env.
#!/usr/bin/python -B
конечно, это означает, что вы теряете некоторые преимущества переносимости использования env. Существует обсуждение этого вопроса с env на Википедия притон страницы. Они используют python в качестве одного из своих примеров env.
согласно странице руководства для env, вы можете пройти name=value
для установки переменных среды. The PYTHONDONTWRITEBYTECODE
переменная среды заставляет Python не писать .py [co] файлы (такие же, как -B
флаг python
). Итак, используя
#!/usr/bin/env PYTHONDONTWRITEBYTECODE=1 python
следует сделать трюк.
EDIT:
Я проверил это с помощью простого скрипта Python:
#!/usr/bin/env PYTHONDONTWRITEBYTECODE=1 python
print 1
затем
$chmod +x test.py
$./test.py
1
$ls
test.py
(но не test.pyc
)
да, если и только если, мы предполагаем, что программа Python работает в несколько POSIX-совместимой системе (для /bin/ sh), это будет работать:
(улучшение на основе ввода от glglgl)
#!/bin/sh
"exec" "python" "-B" "" "$@"
# The rest of the Python program follows below:
увы, нет. Материал shebang ограничен предоставлением исполняемого файла и одного параметра.
так env
пытается выполнить python -B
С указанным файлом в качестве одного аргумента вместо python
С -B
и текущий файл в качестве двух аргументов.
Я не вижу способа достичь желаемой цели.