Есть ли способ запустить Anaconda Python, чтобы он не изменял os.environ ["PATH"] - PullRequest
0 голосов
/ 31 августа 2018

вопрос

В командной строке 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», специфичными для сервера, с которым возникла проблема.

...