在Windows命令行上,我的PATH开头为:
C:\Program Files (x86)\IntelSWTools>set PATH
Path=C:\Program Files (x86)\IntelSWTools\<...and so on>
在一个新的Anaconda Python中(从同一命令行开始),我得到:
>>> 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发行版具有旧版本。通常,可以通过确保正确的libiomp5md.dll出现在PATH变量的开头来解决此问题。但是,由于Anaconda的python解释器在启动时会修改PATH变量,因此当可执行文件通过子进程运行时,会使用错误的版本。
由于各种原因,我无法轻松升级Anaconda发行版或降级二进制可执行文件。另外,我希望我不需要使用特定于问题服务器的“ PATH”操作来使python代码混乱。