#2313 ubuntu22上能安装吗?

14.19* Posted at: 6 hours ago 👁16

您好,在ubuntu22.04上使用python3.10环境用uv syncuv sync安装好后,执行uv run sp.py看不到界面,且没有报任何错误,请问ubuntu22上能安装部署吗?如果可以我是哪里做的有问题?

7 Replies

根据官方文档,pyVideoTrans 支持在 Linux 系统上通过源码部署。您在 Ubuntu 22.04 上无法启动图形界面,通常是因为缺少必要的图形库依赖。

请按以下步骤排查和解决:

  1. 安装系统依赖:在终端中执行以下命令,安装 Qt 图形库和音频处理库。

    sudo apt update
    sudo apt install -y libgl1-mesa-glx libxcb-xinerama0 libsndfile1 ffmpeg
  2. 验证 Python 环境:确保您的 Python 版本为 3.10 或 3.11。可以使用 python3 --version 检查。
  3. 尝试直接运行 Python 脚本:在项目根目录下,使用以下命令启动,这可能会显示更详细的错误信息。

    python3 sp.py

    或者使用 uv 运行时指定日志级别:

    uv run sp.py --log-level DEBUG
  4. 检查虚拟环境:如果使用了虚拟环境(如 venv 或 conda),请确保已激活并在该环境下执行上述命令。

如果执行 python3 sp.py 后仍然没有界面且无报错,可能是进程在后台卡住。请检查系统进程或尝试在命令后添加 & 在后台运行,然后查看是否有相关进程。

如果以上步骤无法解决问题,请提供执行 python3 sp.py 命令后的完整终端输出。

相关文档链接:源码部署

(base) ewegwag@ewegwag-ubuntu:~/ai/pyvideotrans/pyvideotrans$ conda activate pyvideotrans
(pyvideotrans) ewegwag@ewegwag-ubuntu:~/ai/pyvideotrans/pyvideotrans$ python3 sp.py
Traceback (most recent call last):
File "/home/ewegwag/ai/pyvideotrans/pyvideotrans/sp.py", line 22, in

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

ModuleNotFoundError: No module named 'PySide6'
(pyvideotrans) ewegwag@ewegwag-ubuntu:~/ai/pyvideotrans/pyvideotrans$ uv run sp.py --log-level DEBUG
(pyvideotrans) ewegwag@ewegwag-ubuntu:~/ai/pyvideotrans/pyvideotrans$ uv pip freeze | grep pyside6
Using Python 3.10.19 environment at: /home/ewegwag/anaconda3/envs/pyvideotrans
pyside6==6.10.1
pyside6-addons==6.10.1
pyside6-essentials==6.10.1
(pyvideotrans) ewegwag@ewegwag-ubuntu:~/ai/pyvideotrans/pyvideotrans$ uv add PySide6
Resolved 292 packages in 0.93ms
Audited 283 packages in 1ms
(pyvideotrans) ewegwag@ewegwag-ubuntu:~/ai/pyvideotrans/pyvideotrans$ python3 sp.py
Traceback (most recent call last):
File "/home/ewegwag/ai/pyvideotrans/pyvideotrans/sp.py", line 22, in

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

ModuleNotFoundError: No module named 'PySide6'

问题核心是 PySide6 模块在您的 Python 环境中未能正确安装或导入。从 uv pip freeze 的输出看,PySide6 包已存在,但 Python 解释器仍找不到它。这通常是由于 uv 管理的环境与您激活的 conda 环境不一致导致的。

请按以下步骤解决:

  1. 退出并重新激活 conda 环境:确保您在一个纯净的环境中操作。

    conda deactivate
    conda activate pyvideotrans
  2. 使用 uv 重新安装所有依赖:在项目根目录下,执行以下命令,让 uv 重新同步依赖到当前激活的 conda 环境中。

    uv sync

    此命令会读取 pyproject.toml 文件并安装所有依赖,包括 PySide6。

  3. 使用 uv 运行程序:安装完成后,务必使用 uv run 来启动程序,因为 uv 会确保在正确的环境中执行。

    uv run sp.py

    不要再使用 python3 sp.py 直接运行。

关键点uv sync 会为当前激活的 Python 环境安装依赖。您需要确保 conda activate pyvideotrans 后,再执行 uv syncuv runuv run 是启动命令的正确方式。

如果问题依旧,请检查当前 Python 解释器的路径是否与 uv 使用的环境一致:

which python3
uv python --which

如果两者路径不同,说明环境未统一。请确保在激活 conda 环境后,再执行 uv sync

相关文档链接:源码部署

(pyvideotrans) ewegwag@ewegwag-ubuntu:~/ai/pyvideotrans/pyvideotrans$ python sp.py
Aborted (core dumped)

问题已明确:程序在导入 PySide6 后发生了核心转储(Core Dump)。这在 Linux 上通常是由于系统缺少 PySide6(Qt6)所需的图形库依赖,或者显卡驱动/OpenGL 环境不兼容导致的。请按以下步骤解决:安装系统图形库依赖:执行以下命令安装 Qt6 和 OpenGL 相关库。sudo apt update
sudo apt install -y libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libgl1-mesa-glx libegl1-mesa检查显卡驱动:确保您的显卡驱动已正确安装。对于 NVIDIA 显卡,可以运行 nvidia-smi 查看。对于集成显卡,确保 mesa 驱动是最新的。设置环境变量:在启动程序前,尝试设置以下环境变量,这有时可以解决 Qt 的显示问题。export QT_DEBUG_PLUGINS=1
export QT_QPA_PLATFORM=xcb然后再次运行 uv run sp.py。观察终端输出的详细错误信息,这有助于定位是哪个插件加载失败。使用软件渲染:如果上述步骤无效,可以强制 Qt 使用软件渲染(速度较慢,但兼容性最好)。export QT_QPA_PLUGIN_PATH=
export QT_QPA_PLUGIN=offscreen然后运行 uv run sp.py。如果程序能启动(可能在后台运行),则说明是图形显示问题。您可以尝试安装并切换不同的 Qt 平台插件,如 wayland。验证 PySide6 安装:在 Python 交互环境中测试 PySide6 是否能正常导入。python3 -c "import PySide6; print(PySide6.__version__)"如果这一步也导致核心转储,则问题几乎可以肯定是系统库缺失或不兼容。执行完上述步骤后,请提供任何新的错误信息。如果设置了 QT_DEBUG_PLUGINS=1,其输出将非常关键。相关文档链接:源码部署

2025-12-27 17:39:18.267015915 [W:onnxruntime:Default, device_discovery.cc:164 DiscoverDevicesForPlatform] GPU device discovery failed: device_discovery.cc:89 ReadFileContents Failed to open file: "/sys/class/drm/card0/device/vendor"
Unable to load any of {libcudnn_ops.so.9.1.0, libcudnn_ops.so.9.1, libcudnn_ops.so.9, libcudnn_ops.so}
Invalid handle. Cannot load symbol cudnnCreateTensorDescriptor

这个错误表明程序在尝试加载 CUDA 和 cuDNN 库时失败,但核心问题仍然是 PySide6 的图形界面启动失败(之前的“Aborted (core dumped)”)。CUDA/cuDNN 错误是程序内部模块(如 onnxruntime)在初始化时抛出的,但通常不会直接导致程序崩溃。当前的主要矛盾是图形界面无法启动

请按照以下步骤,专注于解决图形界面问题:

  1. 安装完整的 Qt6 系统依赖:运行以下命令安装更全面的 Qt6 库。

    sudo apt update
    sudo apt install -y libxcb-cursor0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 libxcb-shape0 libxcb-sync1 libxcb-xfixes0 libxcb-xinerama0 libxcb-xkb1 libxkbcommon-x11-0 libgl1-mesa-glx libegl1-mesa libxcb-util1
  2. 设置调试环境变量并运行:在终端中执行以下命令,这将输出 Qt 插件加载的详细信息,帮助我们定位问题。

    export QT_DEBUG_PLUGINS=1
    uv run sp.py 2>&1 | head -50

    请将命令输出的前 50 行信息完整提供给我。这很可能包含导致崩溃的具体原因(例如某个 .so 文件找不到)。

  3. (备选)尝试使用软件渲染:如果上述步骤仍无法启动,可以尝试强制使用纯软件渲染模式,以排除显卡/驱动问题。

    export QT_QPA_PLUGIN=offscreen
    uv run sp.py

    如果程序能运行(可能没有界面,或在后台运行),则证明是图形显示子系统的问题。

关于 CUDA/cuDNN 错误的说明
这个警告信息表示程序检测到了 GPU,但 cuDNN 库未正确安装或版本不匹配。在解决图形界面问题之前,可以暂时忽略它。如果您后续需要使用 GPU 加速(CUDA),则需要根据您的显卡和 CUDA 版本手动安装匹配的 cuDNN 库。

请先执行第 2 步并提供输出日志。

相关文档链接:
源码部署
windows上安装CUDA12.6和cuDNN9.8 (原理参考,Linux 安装方法不同)

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.

Donate: https://ko-fi.com/jianchang512

Trending Questions