安装步骤(Ubuntu 20.04)
检查系统时间
- 执行如下命令,查询系统时间。
date
回显类似如下信息:Mon Dec 5 03:20:03 CST 2022
- 若与当前时间一致,跳过该步骤。若与当前时间不一致,执行如下命令设置(以下时间仅为示例,请用户根据当前时间为准)。
date -s '2022-12-06 14:30:00' hwclock -w
回显如下信息表示设置成功。
Tue Dec 6 14:30:00 CST 2022
安装依赖
- 检查系统是否安装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 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 dpkg -l libopenblas-dev| grep libopenblas-dev| grep ii
若分别返回如下信息则说明已经安装,进入下一步(以下回显仅为示例,请以实际情况为准)。
gcc (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0 GNU Make 4.1 cmake version 3.15.2 zlib1g:amd64 1:1.2.11.dfsg-0ubuntu2 amd64 compression library - runtime zlib1g-dev:amd64 1:1.2.11.dfsg-0ubuntu2 amd64 compression library - development libsqlite3-dev:amd64 3.22.0-1ubuntu0.4 amd64 SQLite 3 development files openssl 1.1.1-1ubuntu2.1~18.04.6 amd64 Secure Sockets Layer toolkit - cryptographic utility libssl-dev:amd64 1.1.1-1ubuntu2.1~18.04.6 amd64 Secure Sockets Layer toolkit - development files libffi-dev:amd64 3.2.1-8 amd64 Foreign Function Interface library (development files) unzip 6.0-21ubuntu1 amd64 De-archiver for .zip files pciutils 1:3.5.2-1ubuntu1 amd64 Linux PCI Utilities net-tools 1.60+git20161116.90da8a0-1ubuntu1 amd64 NET-3 networking toolkit libblas-dev:amd64 3.7.1-4ubuntu1 amd64 Basic Linear Algebra Subroutines 3, static library gfortran 4:7.4.0-1ubuntu2.3 amd64 GNU Fortran 95 compiler libblas3:amd64 3.7.1-4ubuntu1 amd64 Basic Linear Algebra Reference implementations, shared library libopenblas-dev:amd64 0.2.20+ds-4 amd64 Optimized BLAS (linear algebra) library (development files)
否则请执行如下安装命令(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可):apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev
libsqlite3-dev需要在Python安装之前安装,如果用户操作系统已经安装满足版本要求的Python环境,在此之后再安装libsqlite3-dev,则需要重新编译Python环境。
若安装的cmake版本低于3.5.1,请参见安装3.5.2版本cmake解决。
- 检查系统是否安装满足版本要求的Python开发环境(具体要求请参见依赖列表,此步骤以环境上需要使用Python3.7.x为例进行说明)。
执行命令python3 --version,如果返回信息满足Python版本要求,则直接进入3。
否则可参考如下命令安装Python(以Python3.7.5为例)。
- 使用wget下载Python3.7.5源码包,可以下载到安装环境的任意目录,命令为:
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
如果执行上述命令回显以下错误信息:
ERROR: cannot verify www.python.org's certificate, issued by ‘/C=cn/ST=GuangDong/L=Shenzhen/O=Huawei/OU=IT/CN=Huawei Web Secure Internet Gateway CA’: Self-signed certificate encountered. To connect to www.python.org insecurely, use `--no-check-certificate'.
或者以下报错信息:
Proxy tunneling failed: Gateway Time-outUnable to establish SSL connection.
则执行如下命令。
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz --no-check-certificate
- 进入下载后的目录,解压源码包,命令为:
tar -zxvf Python-3.7.5.tgz
- 进入解压后的文件夹,执行配置、编译和安装命令:
cd Python-3.7.5 ./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared make make install
参数说明如下:
- “--prefix”:用于指定Python安装路径,用户根据实际情况进行修改。
- “--enable-loadable-sqlite-extensions”:用于加载libsqlite3-dev依赖。
- “--enable-shared”:用于编译出libpython3.7m.so.1.0动态库。
本手册以--prefix=/usr/local/python3.7.5路径为例进行说明。执行配置、编译和安装命令后,安装包在“/usr/local/python3.7.5”路径,libpython3.7m.so.1.0动态库在“/usr/local/python3.7.5/lib/libpython3.7m.so.1.0”路径。
- 设置Python3.7.5环境变量。
# 用于设置Python3.7.5库文件路径 export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH # 如果用户环境存在多个Python3版本,则指定使用Python3.7.5版本 export PATH=/usr/local/python3.7.5/bin:$PATH
- 通过以上export方式设置环境变量,该种方式设置的环境变量只在当前窗口有效。
- 您也可以通过将以上命令写入~/.bashrc文件中,然后执行source ~/.bashrc命令,使上述环境变量永久生效。
如果后续您有使用环境上其他Python版本的需求或者安装Python3.7.5前系统默认Python3版本就为3.7.x,则不建议将以上命令写入到~/.bashrc文件中。
- 安装完成之后,执行如下命令查看安装版本。
python3 --version pip3 --version
返回如下相关版本信息,说明安装成功。
Python 3.7.5 pip 19.2.3
- 使用wget下载Python3.7.5源码包,可以下载到安装环境的任意目录,命令为:
- 安装CANN前请先使用pip3 list命令检查是否安装Python依赖(Python依赖请参见依赖列表),若已经安装,则请跳过该步骤;若未安装,则安装命令如下(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可)。
- 请在安装前配置好pip源,具体可参考配置pip源。
- 安装前,建议执行命令pip3 install --upgrade pip进行升级,避免因pip版本过低导致安装失败。
pip3 install attrs pip3 install cython 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”。