Trong Linux Khi tôi gọi python từ vỏ nó sao chép môi trường của nó, và bắt đầu quá trình python. Do đó, nếu tôi thực hiện một số việc như sau:Có thể thay đổi Môi trường của quy trình gốc trong python không?
import os
os.environ["FOO"] = "A_Value"
Khi quá trình python trả về, FOO, giả sử nó chưa được xác định ban đầu, sẽ vẫn chưa được xác định. Có cách nào cho quá trình python (hoặc bất kỳ quá trình con) để sửa đổi môi trường của quá trình cha mẹ của nó?
Tôi biết bạn thường giải quyết vấn đề này bằng một cái gì đó giống như
source script_name.sh
Nhưng cuộc xung đột này với các yêu cầu khác tôi có.
Xem câu hỏi liên quan này: http://stackoverflow.com/questions/205064/is-there-a-way-to-change-another-processs-environment-variables – Davide
Andrew từ chủ đề đó đã trả lời: Thông qua gdb: (gdb) đính kèm PROCESS_ID (gdb) gọi putenv ("env_var_name = env_var_value") (gdb) tách này là khá một hack khó chịu và chỉ nên được thực hiện trong bối cảnh của một kịch bản gỡ rối, tất nhiên . – grieve