Python исполняемый файл в #! для любой виртуальной среды - PullRequest
0 голосов
/ 05 мая 2020

Как мне написать файл python, чтобы он корректно работал в любой виртуальной среде. Если я помещу шабанг вверху с путем к интерпретатору python моей виртуальной среды, я могу запустить этот файл python из любого места, и программа найдет все его модули. Однако, если кто-то разветвит мой код и создаст виртуальную среду в другом месте, все это сломается.

1 Ответ

2 голосов
/ 05 мая 2020

используйте команду env, чтобы найти python вместо жестко заданного пути. Это обычный способ решить такую ​​проблему.

NAME
env - run a program in a modified environment
SYNOPSIS
env [OPTION]... [-] [NAME=VALUE]... [COMMAND [ARG]...]

Таким образом, текст шабанга должен быть:

#!/usr/bin/env python

или

#!/usr/bin/env python3

И другие языки сценариев могут сделать так же:

#!/usr/bin/env perl
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...