#4134 root@RainYun-8HTeGSfr:~/VocalSeparate/pyvideotrans# uv run sp.pyTraceback (most recent call last): File "/root/VocalSep

154.9* Posted at: 2 days ago 👁26

root@RainYun-8HTeGSfr:~/VocalSeparate/pyvideotrans# uv run sp.py
Traceback (most recent call last):
File "/root/VocalSeparate/pyvideotrans/sp.py", line 19, in

from PySide6.QtWidgets import QApplication, QWidget, QLabel, QVBoxLayout,QMessageBox

ImportError: libEGL.so.1: cannot open shared object file: No such file or directory
root@RainYun-8HTeGSfr:~/VocalSeparate/pyvideotrans#
系统是Linux无桌面纯ssh连接
这是系统版本信息5.10.0-39-amd64 #1 SMP Debian 5.10.251-1 (2026-03-09) x86_64

5 Replies

这是由于在无桌面环境的 Linux 服务器上运行 pyVideoTrans 图形界面程序导致的。PySide6 依赖图形库(如 libEGL),而纯 SSH 连接的服务器通常没有安装这些库。

解决方案:

  1. 安装缺失的图形库:在终端中执行以下命令安装必要的依赖。

    sudo apt update
    sudo apt install libegl1 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-xinerama0 libxcb-xfixes0 libxcb-shape0
  2. 设置显示变量:由于没有桌面环境,需要设置一个虚拟显示。安装 xvfb 并设置环境变量。

    sudo apt install xvfb
    export DISPLAY=:99
    Xvfb :99 -screen 0 1024x768x24 &

    然后,在同一个终端会话中再运行 uv run sp.py

重要提示:在无桌面服务器上运行图形界面程序可能不稳定且资源消耗大。如果您的目的是进行批量处理,强烈建议使用 命令行模式 (CLI),它无需图形界面,更适合服务器环境。

使用命令行模式的示例:

uv run cli.py --task vtv --name "video.mp4" --source_language_code zh --target_language_code en

请查阅相关文档:

我记得Windows端不是可以开放到网页上吗

是的,pyVideoTrans 在 Windows 上可以通过 webui.py 启动一个 Web 界面,从而在服务器上通过浏览器访问。在 Linux 上同样支持此方式,且更适合无桌面环境。

核心原因:您当前尝试运行的是图形界面程序 sp.py,它需要桌面环境。而 webui.py 启动的是 Web 服务,可以通过浏览器远程操作,无需本地图形库。

解决方案

  1. 启动 Web 服务:在您的 pyVideoTrans 项目根目录下,运行以下命令。
    uv run webui.py
    默认情况下,服务会启动在 http://0.0.0.0:9988
  2. 访问 Web 界面:在同一局域网内的任何设备的浏览器中,输入 http://[您的服务器IP地址]:9988 即可访问软件界面。
  3. 后台运行(可选):如果您希望服务在断开 SSH 连接后继续运行,可以使用 nohupscreen 等工具。
    nohup uv run webui.py > webui.log 2>&1 &

重要提示

  • 确保服务器的防火墙或安全组已放行 9988 端口。
  • Web 界面功能与桌面版基本一致,是服务器部署的推荐方式。

替代方案
如果您仅需进行自动化批量处理,命令行模式 (CLI) 仍然是最高效的选择,无需任何界面。
示例:uv run cli.py --task vtv --name "video.mp4" --source_language_code zh --target_language_code en

请查阅相关文档:

root@RainYun-8HTeGSfr:~/VocalSeparate/pyvideotrans# uv run webui.py
error: Failed to spawn: webui.py
Caused by: No such file or directory (os error 2)
root@RainYun-8HTeGSfr:~/VocalSeparate/pyvideotrans# dir
cli.py ffmpeg law.txt models README.md sp.py testcuda.py update_ffmpeg.bat videotrans
docs ffmpeg.txt LICENSE pyproject.toml run-cuda.bat testcli.py tests uv.lock
root@RainYun-8HTeGSfr:~/VocalSeparate/pyvideotrans#
并没有WEBUI.py这个文件

这是由于您下载的源码版本不包含 webui.py 文件。该文件可能仅在特定版本或分支中提供。核心原因:您当前的 pyVideoTrans 源码目录中没有 webui.py 文件。解决方案:确认版本:请检查您下载的版本是否为最新版 v3.99,并确认该版本是否包含 WebUI 功能。您可以访问项目主页或文档查看。下载完整包:如果当前版本确实不包含 WebUI,您需要下载包含该文件的完整源码包。源码仓库地址:https://github.com/jianchang512/pyvideotrans替代方案:如果无法获取 webui.py,您仍有以下两个选择:1. 安装图形库并运行桌面版:按照上一回复的步骤,安装 libegl1 等依赖和 xvfb,然后运行 uv run sp.py。2. 使用命令行模式 (CLI):这是服务器环境最稳定、最推荐的方式,无需任何界面。使用示例:uv run cli.py --task vtv --name "video.mp4" --source_language_code zh --target_language_code en请查阅相关文档:Linux 源码部署命令行模式使用 pyVideoTrans

Post Your Reply
Open source and free maintenance is not easy. If this project is helpful to you, please consider making a small donation to help the project continue to maintain and update.

Related resource