Biến môi trường cung cấp một cách tuyệt vời để định cấu hình ứng dụng Python của bạn, loại bỏ nhu cầu chỉnh sửa mã nguồn của bạn khi cấu hình thay đổi. Các mục cấu hình phổ biến thường được chuyển đến ứng dụng thông qua các biến môi trường là khóa API của bên thứ ba, cổng mạng, máy chủ cơ sở dữ liệu và bất kỳ tùy chọn tùy chỉnh nào mà ứng dụng của bạn có thể cần để hoạt động bình thường Show
Trong bài viết này, tôi sẽ chia sẻ một số kỹ thuật và công cụ có sẵn trong Python để làm việc với các biến môi trường Cách truy cập các biến môi trường từ PythonSử dụng hệ điều hành. từ điển môi trườngTrong Python, từ điển 4 chứa tất cả các biến môi trường. Cách đơn giản nhất để truy xuất một biến từ bên trong ứng dụng của bạn là sử dụng cú pháp từ điển chuẩn. Ví dụ: đây là cách bạn có thể truy cập một biến môi trường có tên 5
Sử dụng phương pháp này, nếu bạn cố gắng nhập một biến môi trường không tồn tại, Python sẽ đưa ra một ngoại lệ 6
Sử dụng hệ điều hành. môi trường. được()Lấy 6 là một ý tưởng hay cho các biến môi trường mà chương trình của bạn yêu cầu, nhưng có những trường hợp bạn có thể muốn cho phép một số biến là tùy chọn. Để tránh lỗi, bạn có thể sử dụng phương thức 8 của từ điển, phương thức này trả về 9 khi khóa được yêu cầu không tồn tại trong từ điển________số 8_______ Thêm một giá trị mặc định nếu biến không được xác địnhNếu bạn muốn cung cấp giá trị mặc định cho biến bị thiếu không phải là 9, bạn có thể thêm biến đó làm đối số thứ hai
Sử dụng hệ điều hành. hàm getenv()Python cũng cung cấp hàm 1 để truy cập các biến môi trường. Hàm này hoạt động theo cách rất giống với phương thức 2. Đây là cách truy cập một biến với nó
Hàm này không gây ra lỗi cho các biến bị thiếu, nó trả về 9 giống như 2. Và nó cũng chấp nhận đối số thứ hai với giá trị mặc định tùy chỉnh
1 có tốt hơn 4 không? . Cá nhân tôi thích sử dụng từ điển 4 hơn, vì nó cho tôi tùy chọn tạm dừng chương trình bằng 6 nếu thiếu một biến bắt buộcCách đặt biến môi trườngTrong phần này, tôi sẽ cung cấp cho bạn một bản tóm tắt nhanh về cách đặt biến môi trường trong cửa sổ dấu nhắc lệnh hoặc thiết bị đầu cuối. Nếu bạn muốn biết tất cả các cách có thể để đặt biến môi trường, đồng nghiệp của tôi, Dominik Kundel đã viết một bài đăng trên blog rất chi tiết về chủ đề này với tiêu đề Cách đặt biến môi trường Unix và MacOSCó hai cách cơ bản để đặt biến môi trường từ phiên cuối bash hoặc zsh. Một là sử dụng từ khóa 9
Một biến được đặt theo cách này sẽ được chuyển sang bất kỳ chương trình hoặc tập lệnh nào mà bạn bắt đầu từ phiên cuối này. Hãy nhớ rằng các biến môi trường không được lưu ở bất kỳ đâu bên ngoài ngữ cảnh của phiên shell, vì vậy chúng sẽ biến mất khi bạn đóng phiên cuối Một cách khác để xác định biến môi trường là đặt nó trong cùng một dòng nơi ứng dụng đích được thực thi
Dạng thứ hai này có lợi ích là biến chỉ được đặt trong không gian môi trường của ứng dụng dự định Microsoft WindowsNếu bạn đang sử dụng Windows, bạn có một số tùy chọn. Nếu bạn quan tâm đến việc đặt các biến môi trường thông qua bảng điều khiển, hãy xem bài viết được liên kết ở trên Nếu bạn đang ở trong cửa sổ nhắc lệnh, bạn có thể đặt biến môi trường bằng lệnh 0
Giống như trong trường hợp Unix, biến không được lưu trữ hoặc ghi nhớ ngoài phiên hiện tại Nếu bạn đang sử dụng bảng điều khiển PowerShell mới hơn, thì cú pháp đặt biến môi trường sẽ hoàn toàn khác
Cuối cùng, nếu bạn đang sử dụng lớp tương thích Unix như WSL hoặc Cygwin, thì bạn phải đi tới phần Unix ở trên và sử dụng bất kỳ phương pháp nào được liệt kê ở đó cho bash hoặc zsh sử dụng. tập tin envBạn có bối rối trước tất cả các cách khác nhau để đặt biến môi trường không? Theo tôi, cách tốt hơn để quản lý các biến môi trường của bạn là lưu trữ chúng trong một. tệp env (phát âm là dấu chấm env). Một. tệp env là tệp văn bản trong đó các biến được xác định, mỗi biến một dòng. Định dạng của một. env hoàn toàn giống nhau trong tất cả các hệ điều hành, vì vậy. tệp env giúp hoạt động với các biến môi trường thống nhất trên tất cả các nền tảng. Và như thể điều này là chưa đủ, việc các biến môi trường của bạn được ghi trong một tệp được Python nhập tự động có nghĩa là bạn không phải đặt chúng theo cách thủ công mỗi khi khởi động một trình bao mới Đây là một đoạn ngắn. ví dụ tệp env với hai biến 0Bạn có thể tạo một. env trong thư mục gốc của từng dự án của bạn và bằng cách đó bạn có thể giữ tất cả các biến cần thiết cho từng dự án được sắp xếp gọn gàng Gói python-dotenv cho phép ứng dụng Python nhập các biến được xác định trong. env vào môi trường. Bạn có thể cài đặt 1 trong môi trường ảo của mình bằng cách sử dụng 2 1Dưới đây bạn có thể xem cách nhập một. env vào ứng dụng Python 2Hàm 3 sẽ tìm một tệp có tên. env trong thư mục hiện tại và sẽ thêm tất cả các định nghĩa biến trong đó vào từ điển 4. Nếu một. tệp env không được tìm thấy trong thư mục hiện tại, sau đó thư mục mẹ được tìm kiếm cho nó. Việc tìm kiếm tiếp tục đi lên trong hệ thống phân cấp thư mục cho đến khi một. tệp env được tìm thấy hoặc đạt đến thư mục cấp cao nhấtNếu bạn muốn ngăn python-dotenv tìm kiếm một. env qua các thư mục của bạn, bạn có thể chuyển một đường dẫn rõ ràng tới tệp của mình làm đối số cho 3 3Có một số đối số bổ sung mà bạn có thể sử dụng khi gọi hàm 3. Nếu bạn muốn tìm hiểu về chúng, hãy tham khảo tài liệuMột khi. env được nhập, bạn có thể truy cập các biến môi trường bằng bất kỳ phương pháp nào được hiển thị ở trên Một lưu ý về. bảo mật tập tin envTrong nhiều trường hợp, bạn sẽ thêm các biến môi trường chứa thông tin nhạy cảm vào. env, như mật khẩu hoặc khóa API. Vì lý do đó, nói chung, bạn không muốn thêm các tệp này vào kho kiểm soát nguồn dự án của mình Thực tiễn tiêu chuẩn là thêm một ngoại lệ cho các tệp có tên này để chúng không bị cam kết kiểm soát nguồn do nhầm lẫn. Đối với git, bạn có thể thêm một dòng có tên tệp vào. gitignore trong thư mục gốc của kho lưu trữ của bạn Nhưng nếu bạn không thể cam kết. env, làm cách nào để thông báo cho người dùng của dự án những biến nào cần được đặt? . env vào kho lưu trữ của bạn với tên chẳng hạn như. env. ví dụ, chứa danh sách các biến mà dự án yêu cầu, nhưng không bao gồm các giá trị của chúng. Điều này đóng vai trò là hướng dẫn cho người dùng dự án của bạn mà không cung cấp thông tin nhạy cảm Phần kết luậnTôi hy vọng bài viết này hữu ích để giúp bạn hiểu cách sử dụng các biến môi trường để định cấu hình các dự án Python của bạn Bạn có cách nào khác để làm việc với các biến môi trường không? Miguel Grinberg là Nhà phát triển Python cho Nội dung Kỹ thuật tại Twilio. Hãy liên hệ với anh ấy tại mgrinberg [at] twilio [dot] com nếu bạn có một dự án Python thú vị mà bạn muốn chia sẻ trên blog này Làm cách nào để sử dụng env trong Python?Để đặt và nhận các biến môi trường trong Python, bạn chỉ cần sử dụng mô-đun os . nhập os # Đặt biến môi trường os. môi trường ['API_USER'] = 'tên người dùng' hệ điều hành. environ['API_PASSWORD'] = 'bí mật' # Lấy các biến môi trường USER = os.
Thư mục env trong Python là gì?Tạo môi trường
. Thư mục này chứa các thư mục để cài đặt mô-đun và tệp thực thi Python . Bạn cũng có thể chỉ định phiên bản Python mà bạn muốn làm việc với.
Sự khác biệt giữa venv và env là gì?Sự khác biệt duy nhất là virtualenv là mô-đun bên thứ 3 cần được cài đặt và venv là một phần của thư viện chuẩn python . Xóa môi trường ảo cũng đơn giản như xóa thư mục dành riêng cho môi trường ảo. Hãy nhớ rằng một môi trường ảo không gì khác hơn là một thư mục. |