在 Python 專案中正確管理 API 金鑰和環境變數的指南
?介紹
在 Python 中使用 API 時,您經常需要使用 API 金鑰或其他敏感憑證。 安全地管理這些金鑰以避免洩露敏感資訊或意外將它們提交到您的 Git 儲存庫至關重要。
如需完整演示,請查看我的GitHub 存儲庫Secure-API-Key-Handling,它具有Streamlit 聊天應用程序,可在與Gemini 生成AI 模型交互時使用.env 文件和python-dotenv 包安全地管理API 金鑰.
?入門
按照以下步驟設定您的專案以進行安全的 API 金鑰處理:
1.安裝依賴項
您需要 python-dotenv 套件從 .env 檔案載入環境變數。
pip install python-dotenv
2. 設定 .env 檔
在專案根目錄中建立一個 .env 文件,您將在其中儲存 API 金鑰和其他特定於環境的變數:
# .env API_KEY=your_api_key_here
重要: 這個 .env 檔案永遠不應該提交到您的儲存庫。我們將配置 .gitignore 以確保這一點。
3. 將.env加到.gitignore
將以下行新增至您的 .gitignore 檔案中,以確保 .env 不會被推送到 Git:
# .gitignore .env
5. 提供 .env.example 文件
對於處理您專案的其他開發人員,請包含 .env.example 檔案作為範本:
# .env.example API_KEY=your_api_key_here
該檔案不會包含敏感數據,但它給出了運行專案所需的變數的範例。其他開發人員可以將此文件複製到 .env 並添加自己的憑證。
cp .env.example .env
?要避免的常見錯誤
- 硬編碼 API 金鑰:切勿直接在 Python 程式碼中硬編碼敏感資訊。
# BAD EXAMPLE: Never do this api_key = "hardcoded_api_key"
提交 .env 檔案 :確保 .env 始終包含在 .gitignore 中,以避免意外將其推入版本控制。
推播虛擬環境:一律從 Git 排除虛擬環境(如 venv):
# .gitignore venv/
?資源:
- 安全 API 金鑰處理 GitHub 儲存庫
- 安全使用 API 金鑰的 8 個技巧
以上是Python 專案中的安全 API 金鑰處理的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本文討論了版本3.10中介紹的Python的新“匹配”語句,該語句與其他語言相同。它增強了代碼的可讀性,並為傳統的if-elif-el提供了性能優勢

Python中的功能註釋將元數據添加到函數中,以進行類型檢查,文檔和IDE支持。它們增強了代碼的可讀性,維護,並且在API開發,數據科學和圖書館創建中至關重要。

本文討論了Python中的單位測試,其好處以及如何有效編寫它們。它突出顯示了諸如UNITSEST和PYTEST之類的工具進行測試。

文章討論了Python的\ _ \ _ Init \ _ \ _()方法和Self在初始化對象屬性中的作用。還涵蓋了其他類方法和繼承對\ _ \ _ Init \ _ \ _()的影響。

本文討論了python中@classmethod,@staticmethod和實例方法之間的差異,詳細介紹了它們的屬性,用例和好處。它說明瞭如何根據所需功能選擇正確的方法類型和DA

Inpython,YouAppendElementStoAlistusingTheAppend()方法。 1)useappend()forsingleelements:my_list.append(4).2)useextend()orextend()或= formultiplelements:my_list.extend.extend(emote_list)ormy_list = [4,5,6] .3)useInsert()forspefificpositions:my_list.insert(1,5).beaware


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。