2017-09-20 11 views

回答

1

你需要確保你的環境變量是持久下面你的shell重新啓動,否則您的新的環境變量將無法訪問以後

[email protected]:/var/tmp$ export NEWVAR='alan' 
[email protected]:/var/tmp$ python test.py 
alan 
*closes shell and reopens* 
[email protected]:/var/tmp$ python test.py 
Please set the environment variable NEWVAR 

更新您的$HOME/.bashrc/etc/environment與變量,而不是僅僅做一個setxexport

注:如果更新/etc/environment您將需要重新啓動計算機以將環境變量設置在您的shell中

+0

因爲我使用Windows系統可以ü請告訴我在哪裏可以永久設置環境變量(路徑)。我在事先添加系統設置,即使然後我面臨的問題:( –

+1

我重新啓動系統它現在工作正常... :) –

0

而不是使用setx來設置這些環境變量;嘗試使用EXPORT。下面的例子爲我工作。

export MYCUSTOMVAR="testing123" 
python testing.py 

注意:如果您在Windows上,則可以使用SET設置env變量。

SET MYCUSTOMVAR=testing123 

testing.py

import os 

if __name__ == '__main__': 
    print("MYCUSTOMVAR: {0}".format(os.environ['MYCUSTOMVAR'])) 

輸出

MYCUSTOMVAR: testing123 
+0

感謝您的答覆凱爾我手動添加環境變量在高級系統設置是好的?因爲出口在我的系統上無法工作,即使手動添加也無法訪問它 –

+0

聽起來像你在Windows上。如果您需要使用SET命令,因爲EXPORT在Windows上不存在。查看與Windows上的SET命令相關的此前一個問題[here](https://stackoverflow.com/questions/18701783/windows-equivalent-of-export) – Kyle

0

如果您想通過腳本來設置環境變量:

import os 
os.environ["JAVA_HOME"] = "somepath" 

如果您使用命令提示符它,它設置將只可用於fo那個外殼。如果您在高級系統設置中設置它,它將在每一處都可用,但在python腳本中打開一個新的shell時不可用。

+1

'setx'永久設置環境變量。 [SS64參考](https://ss64.com/nt/setx.html) – SitiSchu