Избегайте передачи переменной среды в скрипт python

У меня есть небольшой скрипт python

#!/usr/bin/env python3 import some_python3_module def main(): # do stuff if __name__ == '__main__': main() 

и не может запустить этот скрипт с помощью Python3, так как ROS устанавливает переменную PYTHONPATH в некоторые местоположения, связанные с версией 2.7. То есть Python 3 не может найти какие-либо модули в своем каталоге dist-packages . Я хотел бы переопределить это поведение, не изменяя внешнюю среду. То есть, я хочу unset PYTHONPATH , но только для этого скрипта и, желательно, изнутри, так что shebang все равно будет работать. Это возможно?

Не уверен, что это лучше подходит для superuser.com

One Solution collect form web for “Избегайте передачи переменной среды в скрипт python”

Существует опция командной строки, которая соответствует вашим потребностям:

 #!/usr/bin/env python3 -E 

-E

Игнорируйте все переменные среды PYTHON *, например PYTHONPATH и PYTHONHOME, которые могут быть установлены.

  • Почему пытается запустить исполняемый файл python return: «Нет такого файла или каталога» после передачи его на сервер через FTP?
  • `sudo -u user` в строке shebang
  • Почему следующий скрипт удаляет себя?
  • Почему #! / Usr / bin / env bash не работает в моей системе?
  • Какой интерпретатор оболочки запускает скрипт без shebang?
  • Есть ли причина, чтобы shebang указывал на / bin / sh, а не / bin / bash?
  • Линия Shebang для «run with $ SHELL»
  • Почему «she-bang» начинается с «#!»?
  • Содержимое файла / proc / <PID> / cmdline зависит от скрипта shebang?
  • Создание shebang, указывающее переносимо интерпретатору в папке сценария
  • Нет такого файла или каталога, но я могу это увидеть!
  • Interesting Posts

    Удалять удаленные файлы, соответствующие локальным файлам, или удалять файлы по мере их загрузки

    Программа для фильтрации строк, передавая их во внешнюю программу?

    Операционная система и версия Linux, независимо от того, как распределить

    Установите Arch Linux на существующий раздел ext4

    Где хранятся таблицы i-node?

    Как фильтровать адреса IPv4 и IPv6?

    Удалите несколько запятых из определенного столбца файла с разделителями табуляции и распечатайте слова на новой строке

    Как применить iptables SNAT к пакетам, привязанным к localhost (цепочка INPUT)?

    Какова связь между GNU и GNOME?

    Как вы настраиваете .inputrc, поэтому ALT + UP имеет эффект cd

    Какие традиционные Linux-установки / конфигурации были включены systemd?

    Echo не печатает правильное значение для переменной

    Поиск в поиске

    В чем разница, имеющая двойные кавычки или нет в bash

    xorg.conf.d не загружается при запуске X во время стыковки

    Linux и Unix - лучшая ОС в мире.