2017-09-03 277 views
0

使用環境變量我的〜/ .bashrc文件中使用Python解釋器在普通的終端的代碼,這兩條線工程如何在攪拌機

添加一個環境變量寫這兩個線路

var="stuff.." 
export var 

import os 
print(os.environ['var']) 

但在攪拌機蟒蛇控制檯它產生KeyError異常所以在印刷os.environ列表我可以看到,沒有與「變種」作爲關鍵

一個項目因此,我認爲這是一個問題在unix系統中使用環境設置。 誰能幫我解釋一下如何導出環境變量的其他進程?謝謝對不起英語

回答

2

.bachrc文件(以及類似的如.cshrc)當你的shell啓動時讀取,同樣,當你開始一個GUI桌面外殼RC文件在它開始的時間閱讀和當時的變量,然後傳遞到任何GUI應用程序環境的一部分,由在運行沒有得到讀取你開始一個新的應用更改。您可以在不同的桌面上使用find ways of setting environment variables。傳遞環境變量到混合器的

的一種方式是從一個終端窗口啓動它。打開終端時將讀取rc文件,也可以在啓動攪拌器之前手動設置環境變量。

另一種方式來設置環境變量攪拌機是從腳本啓動它,這可能是一個叫myblender將在您的$PATH找到或者它也可以被命名爲blender,如果將真正的攪拌機前被發現。在這個腳本可以在開始之前攪拌機設置變量和任何更改將生效,當你運行它。

#!/bin/bash 

var="stuff.." 
export var 

exec /usr/local/bin/blender "[email protected]" 
+0

感謝。我對shell腳本不太實用,所以我找到了一篇關於特殊變量的文章。我明白$ @是如何工作的,但不是在這種情況下。你可以解釋嗎? –

+0

'$ @'是腳本接收的參數列表。在這個例子中,它用於將任何參數傳遞給攪拌器。所以你可以運行'myblender -b file.blend -a',真正的攪拌器會得到相同的參數並且做你期望的。 – sambler

1

更新〜/ .bashrc後,您必須在啓動blender的終端中登錄到source ~/.bashrc,或註銷並重新登錄到您的系統,然後該變量應位於環境中。

如果您需要獲得環境變量,可能會或可能無法使用,你也可以這樣做os.getenv('var', 'default value')