可以的,hf 命令(Hugging Face CLI) 在 PowerShell 里是可以通过代理访问的。
它会优先使用系统的 HTTP_PROXY / HTTPS_PROXY 环境变量,所以你只需要在 PowerShell 里先设置好代理,hf 就会走代理了。


1️⃣ 在当前 PowerShell 会话临时设置代理

$env:HTTP_PROXY  = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"
127.0.0.1:7890 换成你的代理地址和端口。

然后直接运行 hf 命令,比如:

hf login
hf whoami
hf download <repo>

2️⃣ 永久设置(每次打开 PowerShell 自动生效)

编辑 PowerShell 配置文件:

notepad $PROFILE

添加:

$env:HTTP_PROXY  = "http://127.0.0.1:7890"
$env:HTTPS_PROXY = "http://127.0.0.1:7890"

保存后,每次启动 PowerShell 都会自动加载代理配置。


3️⃣ 如果你用的是 SOCKS5 代理

hf CLI 支持 SOCKS5,但需要写成:

$env:HTTP_PROXY  = "socks5h://127.0.0.1:7891"
$env:HTTPS_PROXY = "socks5h://127.0.0.1:7891"
socks5h 表示由代理服务器解析域名(推荐),socks5 则是本地解析。

4️⃣ 验证是否生效

可以运行:

hf --version
hf whoami

如果能正常连接 Hugging Face 服务器,就说明代理已经生效。


从错误信息 requests.exceptions.InvalidSchema: Missing dependencies for SOCKS support. 可以看出,问题是 requests 库缺少支持 SOCKS 代理的依赖包

解决方法

你需要安装支持 SOCKS 代理的相关依赖。在 PowerShell 中,进入到你使用的 Python 环境(如果是虚拟环境需要先激活),然后执行以下命令来安装依赖:

pip install requests[socks]

这个命令会安装 requests 库以及支持 SOCKS 代理的额外依赖(PySocks 等)。安装完成后,再尝试使用 hf 命令或者相关依赖 requests 库通过 SOCKS 代理进行操作,应该就可以解决这个错误了。

在index-tts2中看到了一个新的包管理器,uv
https://github.com/index-tts/index-tts/tree/tts2dev

pip install -U uv
uv sync --all-extras
uv sync --all-extras --default-index "https://mirrors.aliyun.com/pypi/simple"

uv sync --all-extras --default-index "https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple"


# download IndexTTS-2

uv tool install "huggingface_hub[cli]"

hf download IndexTeam/IndexTTS-2 --local-dir=checkpoints

# or 

uv tool install "modelscope"

modelscope download --model IndexTeam/IndexTTS-2 --local_dir checkpoints

我懂你遇到的情况了——你用 snap 安装的 Docker,结果系统里找不到 systemctl 命令,没法像普通 apt/yum 安装的 Docker 那样用 systemctl start docker 来启动服务。
这其实不是 Docker 本身的问题,而是 snap 安装方式systemctl 管理方式 的机制不一样。


1. 为什么 snap 安装的 Docker 没有 systemctl

  • systemctlsystemd 提供的服务管理命令,用于管理 /etc/systemd/system//lib/systemd/system/ 下的系统服务。
  • snap 包 是一个沙箱化的应用分发格式,它会自带运行所需的依赖,不会像 apt 安装那样往 /etc/systemd/system/ 注册 systemd 服务。
  • 所以用 snap 装的 Docker,默认不会生成 docker.service,自然也就不能用 systemctl 来启动/停止。

2. snap 安装的 Docker 怎么启动

snap 应用有自己的启动方式:

① 查看 Docker snap 服务状态

snap services docker

可能会看到类似:

Service         Startup  Current
docker.dockerd  enabled  active

② 启动/停止/重启 Docker(snap 方式)

sudo snap start docker
sudo snap stop docker
sudo snap restart docker

③ 设置开机自启

sudo snap enable docker

④ 关闭开机自启

sudo snap disable docker

3. 如果想继续用 systemctl 管理 Docker

那就不要用 snap 安装,而是用官方 apt 仓库安装 Docker:

# 卸载 snap 版 Docker
sudo snap remove docker

# 更新 apt 索引
sudo apt update

# 安装依赖
sudo apt install ca-certificates curl gnupg

# 添加 Docker 官方 GPG 密钥
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg

# 添加 Docker apt 仓库
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# 安装 Docker
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 用 systemctl 启动并开机自启
sudo systemctl enable --now docker

# 验证
docker --version
sudo docker run hello-world

这样安装的 Docker 就会有 /lib/systemd/system/docker.service,可以正常用:

sudo systemctl start docker
sudo systemctl stop docker
sudo systemctl restart docker

4. 总结

  • snap 安装 Docker:轻量、隔离,但不走 systemd,所以没有 systemctl 管理命令,要用 snap start/stop/restart docker
  • apt 安装 Docker:会注册 systemd 服务,能继续用 systemctl 管理。
  • 如果你习惯用 systemctl,建议换回 apt 安装;如果只是临时用 Docker,保留 snap 版也行,只是启动方式不一样。

如果你愿意,我可以帮你一步步把 snap 版 Docker 换成 apt 版,并顺手帮你配置好 Docker 免 sudo 运行,这样以后就可以直接用 docker run ... 而不用加 sudo。
要帮你换成 apt 版吗?这样就能用 systemctl 了。

WSL搭建的服务,通过母机端口提供给局域网访问

netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=127.0.0.1

要获取标题数量对应的列名称(如 A、B、C...),可以通过标题数量计算对应的 Excel 列名。Excel 列名采用字母编号(A-Z, AA-AZ, BA-BZ...),可以编写一个转换函数来实现数字到列名的转换。
以下是结合标题数量获取对应列名称的示例代码:

// 数字转Excel列名(如1->A, 2->B, 26->Z, 27->AA)
function numberToColumn($number) {
    $column = '';
    while ($number > 0) {
        $number--;
        $column = chr(ord('A') + $number % 26) . $column;
        $number = (int) ($number / 26);
    }
    return $column;
}