赞
踩
arm架构确实不好玩,奇怪的报错不能只依靠baidu,google必备,不要打怵外文博客。
图为智盒内置ubuntu20.04系统,内置默认python为3.8,有nvidia显卡,但是我没安明白驱动,本项目实现目前只是在跑CPU,对于GPU的应用后期将继续研究。
本人尝试了使用内置python3.8直接进行搭建,但是安装完torch,一切准备就绪后发现numpy1.17版本不合要求,numpy和python版本具有对应关系,本人尝试直接安装numpy1.22不兼容,所以本人建议直接安装高版本的python。本人使用的版本是python3.10.12。
安装python之前,我们需要安装一些必要的依赖项。执行以下命令安装这些依赖项:
- # 刷新软件包目录
- sudo apt update
- # 安装依赖
- sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libbz2-dev liblzma-dev sqlite3 libsqlite3-dev tk-dev uuid-dev libgdbm-compat-dev
首先,进行源码下载。
下载方法1(不推荐):为去python官网(Python Source Releases | Python.org)下载源码。进入官网找到需要的版本点击下载即可。
下载方法2(推荐):通过 wget
下载,在你想要放置的目录下开启终端,执行下述指令,其他版本的python只需要替换版本号即可:
- # 下载 Python 3.10.12
- sudo wget https://www.python.org/ftp/python/3.10.12/Python-3.10.12.tar.xz
- # 下载其他版本只需替换版本号数字
其次,解压文件并进入文件一级目录,后续的所有命令均在该目录中执行:
- # 解压
- tar -xf Python-3.10.12.tar.xz
- # 进入该目录
- cd Python-3.10.12/
再次,进行配置:
- # 检查依赖与配置编译
- sudo ./configure --enable-optimizations --with-lto --enable-shared
这里使用了三个配置项,含义如下:
--enable-optimizations:用 PROFILE_TASK 启用以配置文件主导的优化(PGO)
--with-lto:在编译过程中启用链接时间优化(LTO)
--enable-shared:启用共享 Python 库 libpython 的编译
更多配置项的信息, Python 官方文档中有详细介绍。
运行该步骤后,自动生成 Makefile。
随后,进行编译,其中-j后面的数字含义为参与编译的核心数,图为智盒T906G的核心数为8,本人编译用了6颗,此过程耗时较长,可以开1-2局王者荣耀:
- # 编译,-j 后面的数字为参与编译的CPU核心数,根据计算机配置调整
- sudo make -j 6
编译结束后,注意仔细查看一下输出,检查是否存在错误,本人在这步很顺利没有报错,有报错百度、谷歌一下。
然后,安装,使用 altinstall
而不是 install
,是因为系统已存在python,执行install将会直接覆盖原版本,有可能导致系统原先搭建的环境不兼容,发生损坏。
sudo make altinstall
最后, 链接动态库,由在编译配置中有 --enable-shared
的选项,故此时直接使用命令 python3.10
会提示无法找到 libpython3.10.so.1.0
的错误。只需找到该 so
文件,复制(或创建符号链接)到 /usr/lib/
目录下即可,依次执行下列两条指令:
- # 找到 libpython 的位置
- whereis libpython3.10.so.1.0
- #执行上述指令将显示:libpython3.10.so.1: /usr/local/lib/libpython3.10.so.1.0
- # 在 /usr/lib/ 下创建 libpython 的符号链接
- sudo ln -s /usr/local/lib/libpython3.10.so.1.0 /usr/lib/
运行指令python -V,能够看到版本号即说明安装成功。
至此,本系统内将存在多个python,应用时难免困惑用的是哪个python?不用担心,下一步我们将进行虚拟环境搭建,想用哪个就用哪个。
说到虚拟环境,第一反应应该是anaconda,但遗憾的是anaconda各种版本均不支持arm64,所以本人使用虚拟环境工具 python3-venv ,安装执行如下指令:
sudo apt-get install python3-venv
寻找一个目录,建议目录简单一些的,最好在home下,方便后续激活环境时少敲字符。通过以下命令创建并激活一个新的虚拟环境:
- #创建虚拟环境,其中python后的版本即为虚拟环境的python版本,gg_env为虚拟环境的名称,可任意起
- python3.10 -m venv gg_env
- #激活虚拟环境,后续在其他终端激活虚拟环境时,注意环境的名称需要带上路径,比如soure ~/Downloads/gg_env/bin/activate
- source gg_env/bin/activate
其中命令里python后的版本即为虚拟环境中的python版本,同时需要注意,后续在其他终端激活虚拟环境时,注意环境的名称需要带上路径,比如soure ~/Downloads/gg_env/bin/activate。
本人因为遇到numpy问题,故特此说明一下,python3.10.12默认安装的是多少版本我也忘了,反正够用,注意激活虚拟环境之后执行以下步骤,在虚拟环境中安装依赖。执行下述命令安装numpy,若要指定版本加上版本号即可,用pip install numpy==1.22,这里默认即可:
pip install numpy
安装成功可以用如下指令检验,成功则执行后不会出现任何其他提示:
- #进入python,加载numpy
- python
- imoprt numpy
对于pytorch的安装,去pytorch官网(Start Locally | PyTorch)选择以下配置即可,复制安装命令,安装即可。pytorch官网
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
检测安装是否成功,执行下列指令,进入python,加载torch,不报错、无其他提示即成功:
- python
- import torch
执行下列指令安装ffmpeg,用来解码各种音频文件。
sudo apt install ffmpeg
去Whisper官网(https://github.com/openai/whisper/releases)的发布版本中寻找钟意的下载下来并解压进入文件目录。或执行下列命令进行下载与进入目录:
- git clone https://github.com/openai/whisper.git
- cd whisper/
进入目录后,执行下列命令进行安装:
- pip install -r requirements.txt
- pip install -U openai-whisper
- pip install git+https://github.com/openai/whisper.git
- pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
- pip install setuptools-rust
使用whisper --help命令可以了解其相关脚本参数的含义及使用方法,这里举例语音识别脚本例子:
- #--model表示使用的模型,不同模型尺寸不同,准确率不同
- #--language表示翻译的语言类型
- #test.mp3为待识别的语音文件,也支持wav等格式的音频文件
- whisper test.mp3 --model tiny --language Chinese
其他的脚本参数及功能(翻译等)请参考官网(GitHub - openai/whisper: Robust Speech Recognition via Large-Scale Weak Supervision)文件,这里就不加赘述。
本地部署 Whisper 及 WhisperDesktop_engchina的博客-CSDN博客
在 Ubuntu 22.04 上安装 Python 3.9(多版本适用)_ubuntu安装python3.9_muzing_的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。