Ang mga sumusunod na tawag ay gumagawa ng dalawang magkahiwalay na shell process:

os.system('unset http_proxy')
os.system('curl https://example.com/')

Tinatanggal ng unang shell ang isang variable mula sa sarili nitong environment at lumalabas. Nasa Python process pa rin ang orihinal na halaga. Minamana itong muli ng ikalawang shell.

Ibigay sa child ang environment na nilayon mo

Kapag isang utos lang ang dapat tumakbo nang walang minanang proxy variable, kopyahin ang environment ng Python at ipasa ang kopya sa child:

import os
import subprocess

env = os.environ.copy()
for name in ('http_proxy', 'https_proxy', 'all_proxy',
             'HTTP_PROXY', 'HTTPS_PROXY', 'ALL_PROXY'):
    env.pop(name, None)
subprocess.run(['curl', '--proxy', '', 'https://example.com/'],
               env=env, check=True)

Ang tahasang walang laman na setting ng proxy sa curl ay nagsasapaw din sa pagpili ng proxy mula sa sariling configuration ng curl. Pinapanatili ng kopya ng environment ang iba pang halaga na maaaring kailanganin ng utos. Ang pagpapasa ng walang laman na environment sa halip ay maaaring magtanggal ng mga search path ng executable at walang kaugnayang configuration ng application.

Para sa mga sumunod na operasyon sa Python process mismo, sadyang baguhin ang os.environ. Nakakaapekto ito sa minamana ng mga bagong likhang child; hindi nito muling isinusulat ang environment ng parent terminal at hindi kinakailangang muling ikinokonfigura ang mga HTTP client na nakakuha na ng kanilang mga setting.

Idinodokumento ng subprocess API ang argumentong env, at inilalarawan ng os.environ ang process environment ng Python. Ang mga saklaw na ito ang dahilan kung bakit ang isang shell command ay makapag-uulat ng tagumpay habang ang susunod na kahilingan ay gumagamit pa rin ng lumang proxy.

Sa huli, suriin ang client na aktuwal na pinapatakbo mo. Ang mga environment variable ay isang input lamang ng configuration. Maaaring patuloy na pumili ng proxy ang tahasang opsyon sa proxy o ang sariling configuration ng application pagkatapos mawala ang mga variable na iyon.

Kaugnay na mga artikulo