永久改变sys.path ...好主意还是不行?

时间:2012-01-30 22:56:30

标签: python

我必须附加sys.path才能让我的一个脚本工作。正如我经常这样做,我正在考虑永久地添加路径。

这通常被认为是安全的吗?

另外,如果我的主脚本附加了sys.path,我是否需要为该脚本中使用的每个模块执行此操作,还是更改全局?

谢谢!

2 个答案:

答案 0 :(得分:4)

如果您发现自己经常向sys.path添加元素,则永久添加元素可能是个好主意。但是,您不应该通过直接编辑sys.path来执行此操作,最好通过设置PYTHONPATH环境变量来完成。

how to set PYTHONPATH on Windows上有一些文档,this article提供了一些在Linux上设置环境变量的好信息。

答案 1 :(得分:1)

通常最好在脚本开头执行此操作。主要原因是便携性。如果您将脚本从一个文件夹移动到另一个文件夹,或者甚至更糟糕的是,将其移动到另一个文件夹......它不会起作用。

这些变化几乎总是全球性的。例外情况是从sys导入路径,而不是导入sys。

# pathprinter.py
import sys
print sys.path

# tester.py
from sys import path
path = ['a', 'completely', 'new', 'value']
import pathprinter
   # Original path printed