阿里云、清华大学和豆瓣之外,还有许多其他的 Python 包镜像源。下面是更新后的代码,增加了更多常用的镜像源,如华为云、腾讯云等
import tkinter as tk
from tkinter import messagebox
import os# 定义 pip 配置文件路径
pip_config_file = os.path.join(os.getenv('APPDATA'), 'pip', 'pip.ini')# 创建 pip 配置目录(如果不存在)
pip_dir = os.path.dirname(pip_config_file)
if not os.path.exists(pip_dir):os.makedirs(pip_dir)# 定义镜像源
mirrors = {"官方源 (pypi.org)": "https://pypi.org/simple","阿里云": "https://mirrors.aliyun.com/pypi/simple/","清华大学": "https://pypi.tuna.tsinghua.edu.cn/simple","豆瓣": "https://pypi.doubanio.com/simple/","华为云": "https://mirrors.huaweicloud.com/repository/pypi/simple","腾讯云": "https://mirrors.cloud.tencent.com/pypi/simple","中国科学技术大学": "https://pypi.mirrors.ustc.edu.cn/simple","京东云": "https://mirrors.jd.com/pypi/simple"
}def set_mirror(url):with open(pip_config_file, 'w') as f:f.write(f"[global]\nindex-url = {url}")messagebox.showinfo("成功", f"已设置镜像源为: {url}")# 创建主窗口
root = tk.Tk()
root.title("切换 PyPI 镜像源")# 创建按钮
for name, url in mirrors.items():button = tk.Button(root, text=name, command=lambda url=url, n=name: set_mirror(url))button.pack(fill=tk.X, padx=50, pady=30)# 运行主循环
root.mainloop()