2012-01-30 80 views
4

我必須追加sys.path才能讓我的一個腳本工作。正如我經常這樣做,我正在考慮永久增加路徑。永久改變sys.path ...好主意還是不好?

這通常被認爲是安全的嗎?另外,如果我的主腳本追加了sys.path,那麼對於該腳本中使用的每個模塊,還是需要這樣做,還是全局變化?

謝謝!

+0

「永久添加路徑」?你的意思是「安裝使腳本工作所需的模塊」? 「永久添加」是什麼意思? – 2012-01-30 23:17:36

+0

@ S.Lott - 我只是從sys導入路徑輸入同樣的問題lol – jdi 2012-01-30 23:18:08

回答

4

如果你發現自己常用的添加元素sys.path,將它們永久可以是一個好主意。但是,您不應該直接編輯0​​來完成此操作,最好通過設置PYTHONPATH環境變量來完成。

關於how to set PYTHONPATH on Windowsthis article有一些關於在Linux上設置環境變量的好信息。

+0

我喜歡這個回答。它簡潔=) – blz 2012-01-30 23:28:51

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 
+3

' path =(anything)'只覆蓋名爲'path'的局部變量 - 它不會執行任何與sys.path,模塊導入或任何其他相關的操作。它只是重新分配一個局部變量。 – 2012-01-30 23:23:33

相關問題