Это зависит от того, как script.py
запускает другие скрипты. Если он использует sys.executable
, то есть текущий python, /venv/bin/python
, тогда обе команды эквивалентны.
Если script.py
запускает другие сценарии с использованием оболочки (os.system
, subprocess
, et c) тогда первая форма является предпочтительной, поскольку она устанавливает $PATH
для всех подпроцессов, так что все сценарии python используют одну и ту же виртуальную среду.
И последнее замечание. Если некоторые сценарии, запускаемые из script.py
, имеют фиксированный шебанг, такой как #!/usr/bin/python
, эти сценарии не будут выполняться в вашей виртуальной среде, независимо от того, 1-й или 2-й способ запуска script.py
.