在windows中設定一個新的變數=值我們可以簡單地將它加入到環境變數中。不過,在linux下,看起來有點困難。這是我遵循的程序:
打開終端機並寫入:
vim ~/.bashrc
然後按鍵盤“i”,然後定義變數如下:
Test_MyVariable='Tessst'
export Test_MyVariable
PATH=$PATH:Test_MyVariable/bin
然後:wq
在 $echo 之後我看到變數:
echo $Test_MyVariable
它返回:
泰斯特
但在我的 sublime Text 中它傳回 None 。
import os
new_v= os.environ.get('Test_MyVariable')
print(new_v)
沒有任何
我什至檢查了所有可用的 os.environ 但我找不到我的Test_MyVariable
.此外,我還嘗試使用~/.bash_profile
and~/.profile
並向它們添加變量,但結果相同。請告訴我我做錯了什麼嗎?
答案1
當您在 中定義變數時,變數將在「取得」(讀取)~/.bashrc
後立即出現。~/.bashrc
只有當您啟動新 shell 時(例如,當您開啟新終端時),才會發生這種情況。
因此,如果將新行新增至.bashrc
檔案中,則需要開啟新終端並在那裡執行 python 腳本。或者,您可以執行source ~/.bashrc
將其來源到目前 shell 中。
現在,您提到了 sublime,但並沒有真正解釋為什麼它是相關的,所以我假設您以某種方式在 sublime 編輯器中運行 python 腳本。據推測,它有某種 shell 模擬器。如果是這種情況,那麼如何以及在何處定義變數的詳細資訊將取決於 sublime 如何設定其 shell。請嘗試以下操作:
只需關閉 sublime 窗口,然後再次打開它,看看它現在是否重新讀取了您的
.bashrc
.Sublime 很可能
.bashrc
根本不閱讀。如果您透過某個 GUI 按鈕執行 sublime,您可能需要登出並重新登錄,然後它才能重新讀取變數。嘗試開啟一個新終端並運行
sublime
(或從命令列啟動 sublime 的任何命令名稱)。那麼它看到變數了嗎?