Python修改OS路径变量

时间:2016-11-11 03:37:47

标签: python windows operating-system xgboost

我会尝试说这是正确的,但它有点超出我的专业领域。

我在使用Python 2.7的Windows环境中使用xgboost库,这需要各种令人讨厌的编译和安装。

完成后,我关注的说明告诉我,在实际导入库以供使用之前,我需要修改iPython笔记本中的OS Path Variable。

说明告诉我运行以下内容:

import os

mingw_path = 'C:\\Program Files\\mingw-w64\\x86_64-5.3.0-posix-seh-rt_v4-rev0\\mingw64\\bin'

os.environ['PATH'] = mingw_path + ';' + os.environ['PATH']

然后我可以导入

import xgboost as xgb
import numpy as np
....

这很有效。我的问题。操作系统路径修改是否在路径变量中进行了永久性更改,或者每次我想要如上所述使用它时是否需要修改os路径变量?

提前致谢。

修改

以下是我正在关注的instructions的链接。我所引用的部分即将结束。

1 个答案:

答案 0 :(得分:1)

os.environ函数仅在python / jupyter控制台的范围内:

以下是我的bash shell中的证据:

$ export A=1
$ echo $A
1
$ python -c "import os; print(os.environ['A']); os.environ['A'] = '2'; print(os.environ['A'])"
1
2
$ echo $A
1

上面的python行打印环境变量A,然后更改它的值并再次打印。

因此,如您所见,任何os.environ变量都在python脚本中更改,但是当它出来时,bash shell的环境不会改变。

另一种方法是修改用户或系统PATH变量。但这可能会打破其他因素,因为您正在做的事情可能会使用mingw替换默认编译器,并且可能会出现并发症。我不是Windows专家,所以不确定那部分。

简而言之:

  • os.environ操作仅适用于python进程
  • 它不会影响任何其他程序
  • 每次要导入xgboost
  • 时都必须这样做