一、安装Python3.11.4
首先来安装Python3.11.4。所用操作系统:统信UOS
前提是准备好Python3.11.4的安装包(可从官网下载(链接)),并解压到本地:
右键,选择“在终端中打开”,执行如下命令安装:
./configure --enable-optimizations
make -j 4 (-j后面的数字为本机cpu的核数)
sudo make altinstall
二、关于Python版本的说明
在安装Python3.11前,该电脑上已有的Python版本有:2.7和3.7,首先执行如下命令,将默认的Python3版本由3.7改为3.11:
sudo ln -sf /usr/local/bin/python3.11 /usr/bin/python3
现在,分别查看默认的python和python3版本:
至此,已完成python3.11的安装。
三、以numpy库为例的包安装/导入问题
执行如下命令安装numpy库:
sudo apt install python3-numpy
安装完成,但是我们使用python3.11导入它的时候出现报错,提示找不到该模块:
但是,使用原先的版本(2.7和3.7)都可以正常导入:
为了解决这个问题,我们先看看Python的安装位置。使用如下命令:
whereis python
可以发现,在/usr/include/这个目录下只存在原先的python3.7和2.7.
我们新建一个/usr/include/python3.11目录,并且把/usr/include/python2.7/numpy这个目录复制过去:
sudo mkdir /usr/include/python3.11
sudo cp -r /usr/include/python2.7/numpy /usr/include/python3.11
到此为止,只差最后一步,由于我们直接把numpy包从python2.7目录移动到python3.11目录中,并没有更新软链接。首先来看看这个软链接,以python2.7为例:
cd /usr/include/python2.7
ls -al
可以看出,它的软链接是和python版本匹配的。我们依据此,新建一个软链接:
ln -snf /usr/include/python3.11/numpy ../../lib/python3/dist-packages/numpy/core/include/numpy
这里的被连接对象是已有的python3当中的numpy。
这样,就可以在python3.11的环境当中使用numpy,而不影响之前的: