大神论坛

找回密码
快速注册
查看: 193 | 回复: 1

[源码] pip切换国内源

主题

帖子

0

积分

初入江湖

UID
583
积分
0
精华
威望
0 点
违规
大神币
68 枚
注册时间
2023-09-16 15:07
发表于 2023-10-14 16:18
本帖最后由 wa_j 于 2023-10-14 16:18 编辑

pip默认下载速度比较慢,这个脚本可以可以切换国内的源。
如果脚本无法执行,请pip install nicegui(代码已经实现了自动安装)

import subprocess  
import sys

def install_module(module_name):
try:
__import__(module_name)
# print(f"{module_name} 已经安装成功")
except ImportError:
print(f"尝试通过 pip 安装 {module_name}")
subprocess.check_call([sys.executable, '-m', 'pip', 'install', module_name])
__import__(module_name)
print(f"{module_name} 安装结束")
except subprocess.CalledProcessError as e:
print(f"命令执行失败,返回码:{e.returncode}")
# print(f"标准输出:\n{e.stdout}")
# print(f"标准错误输出:\n{e.stderr}")

# 使用你需要的模块名替换 "nicegui"
install_module("nicegui")

from nicegui import ui, app

source_urls = {
"清华源": "https://pypi.tuna.tsinghua.edu.cn/simple",
"阿里云镜像源": "http://mirrors.aliyun.com/pypi/simple/",
"中国科学技术大学镜像源": "https://pypi.mirrors.ustc.edu.cn/simple/",
"豆瓣源": "http://pypi.douban.com/simple/"
}

def set_pip_source(source_url):
print(f"设置 pip 源为: {source_url}")
subprocess.run(["pip", "config", "set", "global.index-url", source_url])
ui.notify(f"设置 pip 源为: {source_url}", type='positive', position="center")

def reset_pip_source():
print("还原 pip 默认源")
subprocess.run(["pip", "config", "unset", "global.index-url"])
ui.notify("设置为默认源", type='positive', position="center")

ui.label("点击下面的按钮设置相应的国内pip源").style('color: red; font-size: 200%; font-weight: 300')

for k,v in source_urls.items():
ui.button(k, on_click=lambda url=v: set_pip_source(url))
ui.button('默认设置', on_click=lambda: reset_pip_source())

ui.run(title='设置pip源', language='zh-CN')


主题

帖子

40

积分

初入江湖

UID
92
积分
40
精华
威望
80 点
违规
大神币
66 枚
注册时间
2021-06-01 12:34
发表于 2024-01-01 16:06:45.0
1233888

返回顶部