активировать другой conda env внутри кода Python - PullRequest
0 голосов
/ 30 января 2019

Мне нужно использовать оба python2.7 и python3.6 для задачи.Я использовал conda для создания двух Python envs.Я знаю, как использовать сценарий оболочки для управления выполняющимся кодом и переключения между различными envs.Скажем, мне нужно сначала запустить код python2.7, а затем запустить python 3.6.Мой вопрос заключается в том, могу ли я сначала запустить код Python 2.7, а затем в коде Python 2.7 я непосредственно активирую python3.6 conda env и запускаю код Python 3.6?

1 Ответ

0 голосов
/ 30 января 2019

Для вашей задачи может быть достаточно изменить среду, просто вызвав оболочку из python, используя:

your python 2.7 code

os.system("Command to change your kernel")  

your python 3.6 code

Может быть, вам нужно добавить дополнительный код для получения выходных данных или новых входных данных, если они есть ипродолжайте выполнение кода.

Если это не сработает, возможно, проще вызвать функцию python 3.6 непосредственно из команды:

os.system("python3 '/function36.py' ")

Или также использовать подпроцесс функции .позвоните из своего 2.7 кода:

return_code = subprocess.call("python3 '/function36.py'", shell=True)  

Используя Python 3.6, вы также можете использовать subprocess.run ()

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