From 0bd91ee4844ea22d89aed6c42baec358818d7519 Mon Sep 17 00:00:00 2001 From: Aqr-K <95741669+Aqr-K@users.noreply.github.com> Date: Wed, 24 Jul 2024 23:02:46 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0`PYPI=5FPROXY`=E5=8F=98?= =?UTF-8?q?=E9=87=8F=EF=BC=8C=E6=94=AF=E6=8C=81=E7=94=A8=E9=95=9C=E5=83=8F?= =?UTF-8?q?=E7=AB=99=E4=B8=8B=E8=BD=BD=E4=B8=8E=E6=9B=B4=E6=96=B0=E4=BE=9D?= =?UTF-8?q?=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/core/config.py | 2 ++ app/helper/plugin.py | 3 ++- update | 16 ++++++++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/app/core/config.py b/app/core/config.py index c8eb786f..2f846fd6 100644 --- a/app/core/config.py +++ b/app/core/config.py @@ -146,6 +146,8 @@ class Settings(BaseSettings): GITHUB_TOKEN: Optional[str] = None # Github代理服务器,格式:https://mirror.ghproxy.com/ GITHUB_PROXY: Optional[str] = '' + # pip镜像站点,格式:https://pypi.tuna.tsinghua.edu.cn/simple + PIP_PROXY: Optional[str] = '' # 大内存模式 BIG_MEMORY_MODE: bool = False diff --git a/app/helper/plugin.py b/app/helper/plugin.py index e68849e8..a24c3a92 100644 --- a/app/helper/plugin.py +++ b/app/helper/plugin.py @@ -222,7 +222,8 @@ class PluginHelper(metaclass=Singleton): # 插件目录下如有requirements.txt则安装依赖 requirements_file = plugin_dir / "requirements.txt" if requirements_file.exists(): - SystemUtils.execute(f"pip install -r {requirements_file} > /dev/null 2>&1") + PIP_PROXY = f" -i {settings.PIP_PROXY} " if settings.PIP_PROXY else "" + SystemUtils.execute(f"pip install -r {requirements_file} -i {PIP_PROXY} > /dev/null 2>&1") # 安装成功后统计 self.install_reg(pid) diff --git a/update b/update index a132bd0b..b02427ac 100644 --- a/update +++ b/update @@ -121,10 +121,22 @@ if [[ "${MOVIEPILOT_AUTO_UPDATE}" = "true" ]] || [[ "${MOVIEPILOT_AUTO_UPDATE}" CURL_OPTIONS="-sL -x ${PROXY_HOST}" PIP_OPTIONS="--proxy=${PROXY_HOST}" GITHUB_PROXY="" - INFO "使用代理更新程序" + INFO "使用全局代理更新程序与环境依赖" + elif [[ -n "${PIP_PROXY}" ]] || [[ -n "${GITHUB_PROXY}" ]]; then + CURL_OPTIONS="-sL" + PIP_OPTIONS=${PIP_OPTIONS:+"-i ${PIP_PROXY}"} || PIP_OPTIONS="" + GITHUB_PROXY=${GITHUB_PROXY:+"-i ${GITHUB_PROXY}"} || GITHUB_PROXY="" + # 判断不同的代理组合 + if [ -z "${PIP_OPTIONS}" ] && [ -n "${GITHUB_PROXY}" ]; then + INFO "不使用代理更新环境依赖,使用Github镜像代理更新程序" + elif [ -n "${PIP_OPTIONS}" ] && [ -z "${GITHUB_PROXY}" ]; then + INFO "使用Pip镜像代理更新环境依赖,不使用代理更新程序" + else + INFO "使用Pip镜像代理更新环境依赖,使用Github镜像代理更新程序" + fi else CURL_OPTIONS="-sL" - INFO "不使用代理更新程序" + INFO "不使用任何代理更新程序与环境依赖" fi if [ -n "${GITHUB_TOKEN}" ]; then CURL_HEADERS="--oauth2-bearer ${GITHUB_TOKEN}"