[英]set pythonpath before import statements
我的代碼是:
import scriptlib.abc
import scriptlib.xyz
def foo():
... some operations
但是scriptlib在其他目錄中,所以我必須在環境變量“PYTHONPATH”中包含該目錄。
無論如何,我可以在導入語句執行之前首先在環境變量“PYTHONPATH”中添加scriptlib目錄,如:
import sys
sys.path.append('/mypath/scriptlib')
import scriptlib.abc
import scriptlib.xyz
def foo():
... some operations
如果是,那么該值僅用於該命令提示符還是全局?
提前致謝
這將添加Python進程/實例的路徑(即正在運行的可執行文件)。 不會為任何其他Python進程修改該路徑。 另一個正在運行的Python程序將不會修改其路徑,如果您退出程序並再次運行,則路徑將不包括您之前添加的內容。 你在做什么通常是正確的。
set.py:
import sys
sys.path.append("/tmp/TEST")
loop.py
import sys
import time
while True:
print sys.path
time.sleep(1)
運行: python loop.py &
這將運行loop.py,連接到您的STDOUT,它將繼續在后台運行。 然后,您可以運行python set.py
每個都有一組不同的環境變量。 觀察loop.py
的輸出沒有改變,因為set.py
不會改變loop.py
的環境。
關於進口的說明
Python導入是動態的,就像其他語言一樣。 沒有靜態鏈接。 導入是一個可執行行,就像sys.path.append...
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.