Если у вас уже есть hg
на вашем пути, вам не нужно ничего особенного в вызове subprocess
, поскольку вы должны получить ту же среду.
В любом случае, если вы хотите явно добавитьПеременная среды PATH для вашего подпроцесса, вы можете сделать это:
env = os.environ.copy()
env['PATH'] = <whatever you need here>
subprocess.Popen(<hg command>, env=env)
Этот код копирует среду, которую вы получаете из вашей оболочки, и перезаписывает переменную PATH
.Возможно, вы захотите добавить к PATH
вместо этого, если вы собираетесь использовать тот же словарь env
для запуска других команд.
Нет необходимости копировать всю среду, но это предотвратит другие проблемы, которые выможет произойти, потому что отсутствуют другие переменные среды.