我必须附加sys.path才能让我的一个脚本工作。正如我经常这样做,我正在考虑永久地添加路径。
这通常被认为是安全的吗?
另外,如果我的主脚本附加了sys.path,我是否需要为该脚本中使用的每个模块执行此操作,还是更改全局?
谢谢!
答案 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