вопрос
В командной строке Windows мой PATH начинается с:
C:\Program Files (x86)\IntelSWTools>set PATH
Path=C:\Program Files (x86)\IntelSWTools\<...and so on>
Находясь в новом Python Anaconda (запущенном из той же командной строки), я получаю:
>>> import os
>>> os.environ["PATH"][:60]
'C:\\Program Files\\Anaconda2\\Library\\bin;C:\\Program Files (x86'
Есть ли способ запустить Anaconda python, чтобы он не вставлял свои собственные библиотеки в начале PATH
?
Фон и мотивация
У меня есть код Python 2.7, в котором я запускаю двоичный исполняемый файл, используя subprocess.call()
. Это хорошо работало в течение длительного времени на нескольких компьютерах (как Windows, так и Linux). Однако на конкретном сервере Windows возникает проблема: команда subprocess.call()
завершается неудачно с ненулевым состоянием выхода -1073741512.
После некоторых копаний я понял, что это происходит потому, что для исполняемого двоичного файла требуется новая версия libiomp5md.dll, в то время как дистрибутив Anaconda имеет более старую версию. Обычно это можно решить, убедившись, что в начале переменной PATH находится правильный libiomp5md.dll. Однако, поскольку интерпретатор Python Anaconda изменяет переменную PATH во время запуска, при запуске исполняемого файла через подпроцесс используется неверная версия.
По разным причинам я не могу легко обновить дистрибутив Anaconda или понизить бинарный исполняемый файл. Кроме того, я надеюсь, что мне не нужно загромождать код Python манипуляциями «PATH», специфичными для сервера, с которым возникла проблема.