Linux 源码部署
- Linux上建议使用
miniconda
来安装部署,能避免掉很多的环境问题。
- 首先安装
miniconda
,打开终端,执行命令wget https://repo.anaconda.com/miniconda/Miniconda3-py310_24.5.0-0-Linux-x86_64.sh
- 等待下载完毕,继续执行
bash Miniconda3-py310_24.5.0-0-Linux-x86_64.sh
- 接下来会显示一些协议或引导,需要输入
yes
或按下 回车继续。 - 等待提示完成后,建议加入全局环境,以便能够使用短命令
conda
,默认可能安装在/root/miniconda3
下,假如是这个命令,请执行cp /root/miniconda3/bin/conda /usr/bin/conda
,如果是其他位置,请自行替换 - 关闭该终端窗口,重新打开,环境才会生效。
- 创建一个使用
python3.10
的虚拟环境,执行命令conda create -n videotrans python=3.10
,如果提示输入则输入yes
然后回车。 - 激活该虚拟环境,执行命令
conda activate videotrans
- 创建一个空文件夹用于部署源码,假设已创建
/data/pyvideo
,进入该文件夹内,从github拉取源码,执行命令git clone https://github.com/jianchang512/pyvideotrans .
- 安装依赖,执行命令
pip install -r requirements.txt
,等待提示完成 - 安装 ffmpeg,centos下执行
yum install ffmpeg
,ubuntu 下执行apt-get install ffmpeg
- 如果无报错,则执行
python sp.py
打开软件,执行python api.py
运行api服务
安装中可能遇到的错误
- samplerate模块安装失败 有可能会遇到一个错误,错误中包括
samplerate
字样,这是一个pip模块,需要编译源码安装,在不同系统版本和环境下,极容易编译失败而出错,出错代码类似下方
-- Build files have been written to: /tmp/pip-install-0355nvxe/samplerate_f6c17d8f7ab94e0b9f8d7e16697c1ab3/build/temp.linux-x86_64-cpython-310/samplerate
[ 14%] Building C object _deps/libsamplerate-build/src/CMakeFiles/samplerate.dir/samplerate.c.o
[ 28%] Building C object _deps/libsamplerate-build/src/CMakeFiles/samplerate.dir/src_linear.c.o
[ 42%] Building C object _deps/libsamplerate-build/src/CMakeFiles/samplerate.dir/src_sinc.c.o
[ 57%] Building C object _deps/libsamplerate-build/src/CMakeFiles/samplerate.dir/src_zoh.c.o
[ 71%] Linking C static library libsamplerate.a
[ 71%] Built target samplerate
[ 85%] Building CXX object CMakeFiles/python-samplerate.dir/src/samplerate.cpp.o
c++: error: unrecognized command line option ‘-std=c++14’
gmake[2]: *** [CMakeFiles/python-samplerate.dir/src/samplerate.cpp.o] Error 1
gmake[1]: *** [CMakeFiles/python-samplerate.dir/all] Error 2
gmake: *** [all] Error 2
错误也可能如下
centos7 ImportError: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by /data2/conda/envs/pyvideo/lib/python3.10/site-packages/shiboken6/Shiboken.abi3.so)
这种情况说明c++/cmake
版本太低,需要升级,接下来执行以下命令,如果是centos
系列,分别执行
yum update
yum clean all
yum remove devtoolset-8
yum update libstdc++
yum install devtoolset-8 devtoolset-9-libstdc++-devel scl-utils
执行完毕后,继续执行
export CFLAGS="-fPIC"
export CXXFLAGS="-fPIC"
然后重新执行 pip install -r requirements.txt
- pip镜像源问题
如果pip安装时非常缓慢,可考虑切换到阿里云镜像源,加快安装速度,执行如下2条命令切换pip镜像到阿里镜像,再重新安装
```
pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
pip config set install.trusted-host mirrors.aliyun.com
```
阿里云镜像源可能缺少一些模块的版本,若是遇到该问题,想切换会官方默认源,执行 cd ~/.config/pip
,打开 pip.conf文件,删掉里面内容,即可恢复官方源
使用CUDA加速,分别执行
pip uninstall -y torch torchaudio
pip install torch==2.2.0 torchaudio==2.2.0 --index-url https://download.pytorch.org/whl/cu118
pip install nvidia-cublas-cu11 nvidia-cudnn-cu11