安装步骤(Ubuntu 22.04)
检查源
安装过程需要下载相关依赖,请确保安装环境能够连接网络。
请在root用户下执行如下命令检查源是否可用。
apt-get update
如果命令执行报错或者后续安装依赖时等待时间过长甚至报错,则检查网络是否连接或者把“/etc/apt/sources.list”文件中的源更换为可用的源或使用镜像源(以配置华为镜像源为例,可参考华为开源镜像站)。
检查root用户的umask
-
umask
如果umask不等于0022,请执行如下操作配置,在该文件的最后一行添加umask 0022后保存。
- 在任意目录下执行如下命令,打开.bashrc文件:
vi ~/.bashrc
在文件最后一行后面添加umask 0022内容。
- 执行:wq!命令保存文件并退出。
- 执行source ~/.bashrc命令使其立即生效。
- 在任意目录下执行如下命令,打开.bashrc文件:
依赖安装完成后,请用户恢复为原umask值(删除.bashrc文件中umask 0022一行)。基于安全考虑,建议用户将umask值改为0027。
配置安装用户权限
可使用root或非root用户(该非root用户需与软件包安装用户保持一致)安装依赖,如果使用非root用户安装,可能需要用到提权命令,请用户自行获取所需的sudo权限。使用完成后请取消涉及高危命令的权限,否则有sudo提权风险。
安装依赖
- 检查系统是否安装python依赖以及gcc等软件。分别使用如下命令检查是否安装gcc,make以及python依赖软件等。
gcc --version g++ --version make --version cmake --version dpkg -l zlib1g| grep zlib1g| grep ii dpkg -l zlib1g-dev| grep zlib1g-dev| grep ii dpkg -l libsqlite3-dev| grep libsqlite3-dev| grep ii dpkg -l openssl| grep openssl| grep ii dpkg -l libssl-dev| grep libssl-dev| grep ii dpkg -l libffi-dev| grep libffi-dev| grep ii dpkg -l libbz2-dev| grep libbz2-dev| grep ii dpkg -l libxslt1-dev| grep libxslt1-dev| grep ii dpkg -l unzip| grep unzip| grep ii dpkg -l pciutils| grep pciutils| grep ii dpkg -l net-tools| grep net-tools| grep ii dpkg -l libblas-dev| grep libblas-dev| grep ii dpkg -l gfortran| grep gfortran| grep ii dpkg -l libblas3| grep libblas3| grep ii
若分别返回如下信息则说明已经安装,进入下一步(以下回显仅为示例,版本要求请以依赖列表为准)。
gcc (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 g++ (Ubuntu 11.3.0-1ubuntu1~22.04.1) 11.3.0 GNU Make 4.3 cmake version 3.22.1 ii zlib1g:arm64 1:1.2.11.dfsg-2ubuntu9 arm64 compression library - runtime ii zlib1g-dev:arm64 1:1.2.11.dfsg-2ubuntu9 arm64 compression library - development ii libsqlite3-dev:arm64 3.37.2-2 arm64 SQLite 3 development files ii openssl 3.0.2-0ubuntu1 arm64 Secure Sockets Layer toolkit - cryptographic utility ii libssl-dev:arm64 3.0.2-0ubuntu1 arm64 Secure Sockets Layer toolkit - development files ii libffi-dev:arm64 3.4.2-4 arm64 Foreign Function Interface library (development files) ii libbz2-dev:amd64 1.0.6-8.1ubuntu0.2 arm64 high-quality block-sorting file compressor library - development ii libxslt1-dev:amd64 1.1.29-5ubuntu0.3 arm64 XSLT 1.0 processing library - development kit ii unzip 6.0-26ubuntu3 arm64 De-archiver for .zip files ii pciutils 1:3.7.0-6 arm64 PCI utilities ii net-tools 1.60+git20181103.0eebece-1ubuntu5 arm64 NET-3 networking toolkit libblas-dev:arm64 3.9.0-1build1 arm64 Basic Linear Algebra Subroutines 3, static library gfortran 4:9.3.0-1ubuntu2 arm64 GNU Fortran 95 compiler libblas3:arm64 3.9.0-1build1 arm64 Basic Linear Algebra Reference implementations, shared library
否则请执行如下安装命令(如果只有部分软件未安装,则如下命令修改为还未安装的软件即可):- 如果使用root用户安装依赖,请将步骤1至步骤2命令中的sudo删除。
- 如果python及其依赖是使用非root用户安装,则需要执行su - username命令切换到非root用户继续执行步骤1至步骤3。
- libsqlite3-dev需要在python安装之前安装,如果用户操作系统已经安装满足版本要求的python环境,在此之后再安装libsqlite3-dev,则需要重新编译python环境。
sudo apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev libbz2-dev libxslt1-dev unzip pciutils net-tools libblas-dev gfortran libblas3
- 检查系统是否安装满足版本要求的python开发环境,具体要求请参见依赖列表。
执行如下命令,如果返回信息满足python版本要求,则直接进入下一步,否则可参考编译安装Python3.7.5。
python3 --version pip3 --version
- 安装前请先使用pip3 list命令检查是否安装相关依赖,若已经安装,则请跳过该步骤;若未安装,则安装命令如下(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可)。
- 请在安装前配置好pip源,具体可参考配置pip源。
- 安装前,建议执行命令pip3 install --upgrade pip进行升级,避免因pip版本过低导致安装失败。
- 如下命令如果使用非root用户安装,需要在安装命令后加上--user,例如:pip3 install attrs --user,安装命令可在任意路径下执行。
pip3 install attrs pip3 install numpy pip3 install decorator pip3 install sympy pip3 install cffi pip3 install pyyaml pip3 install pathlib2 pip3 install psutil pip3 install protobuf pip3 install scipy pip3 install requests pip3 install absl-py
如果执行上述命令时报错“subprocess.CalledProcessError:Command '('lsb_release', '-a')' return non-zero exit status 1”,请参见pip3 install报错“subprocess.CalledProcessError:Command '('lsb_release', '-a')' return non-zero exit status 1”。
依赖安装完成后,请用户恢复为原umask值(参考检查root用户的umask,删除.bashrc文件中umask 0022一行)。基于安全考虑,建议用户将umask值改为0027。