当 python 程序访问本地IP(127.0.0.1)的端口时候,如果本地网络访问设置为代理模式,则有可能会造成出错。
此时可以通过设置环境变量来指定不代理 127.0.0.1,localhost
1 2 |
import os os.environ['NO_PROXY'] = '127.0.0.1,localhost' |
比如我们使用了 ollama-python 的 ollama 库,就会造成这个问题,他使用 httpx 进行网络连接
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
import logging import os logging.basicConfig(level=logging.DEBUG, format='%(asctime)s - %(levelname)s - %(message)s') os.environ['NO_PROXY'] = '127.0.0.1,localhost' import ollama response = ollama.chat(model='llama3', messages=[ { 'role': 'user', 'content': 'Why is the sky blue?', }, ]) print(response['message']['content']) |
设置 环境变量一定要在 import ollama 之前
否则可能会出现 ollama._types.ResponseError: unexpected EOF 问题
在 Windows 下设置
1 |
set NO_PROXY="127.0.0.1,localhost" |
PowerShell 下设置
1 |
$env:NO_PROXY="127.0.0.1,localhost" |