ubuntu18.04server安装pytorch编译安装python3.10

博客 227次浏览 收藏

将Ubuntu18.04默认的python3.6升级到python3.10,最近也想玩玩AI不是单纯的用别人写好的,而是想自己弄一个,所以选择了 pytorch 框架。后来发现有一个依赖要大于3.9版本,所以直接编译安装了

一 升级到3.8踩坑

首先查看pytorch 官网 python3 的版本最低支持3.8,而ubuntu18.04 的python3 默认是3.6 版。所以首先需要升级python3的版本到3.8

1、查看现有的 python3 版本 并安装pip3

python3 --version
pip3 --version

为避免 pip3 install * 安装包的时候 出现“No module named 'apt_pkg'”的错误  最好先 安装 python3-pip

sudo apt install python3-pip  # 也就是pip3

2、安装 python3.8

sudo apt install python3.8

3、将 python3.6 和 3.8 添加到 update-alternatives

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2

 4、将 python3 指向 python3.8

sudo update-alternatives --config python3

可以看到,python3 已经默认指向了 python3.8,按回车即可。

5、输入 python3 指令测试一下,可以看到指向已更新到 python3.8。

python3 --version  # python3 -V

6、如果以后不使用 python3.8 可以使用如下指令删除
(1)

sudo apt  python3.8 --purge
sudo apt  -y autoremove

(2) 恢复 默认 3.6 版本

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1

最后一步要恢复,不然 python3 就会报错的

7 安装pytroch 

按照官网 https://pytorch.org/get-started/locally/ 根据自己是否有cuda 生成安装命令来安装即可

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu   #无cuda版的

其它的去官网参考

二 编译安装python3.10

因为 在安装时 有一个依赖包 networkx 需要python版本>=3.9 ,如果编译安装3.9有可能继续出问题,所以直接编译安装python3.10版本吧 错误提示:

Collecting networkx (from torch)
  Using cached https://download.pytorch.org/whl/networkx-3.2.1-py3-none-any.whl
networkx requires Python '>=3.9' but the running Python is 3.8.0

1.安装依赖库

sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev libsqlite3-dev wget libbz2-dev

2.下载 Python 3.10 源代码

wget https://www.python.org/ftp/python/3.10.13/Python-3.10.13.tar.xz

  不知道为啥 国外技术网站 的这个网速堪忧 就一个不到20M 的包 需要下载3分钟以上了

# 解压

tar -xf Python-3.10.13.tar.xz

3.编译 加参数是为了弄一个稳定并对本地优化的版本

cd Python-3.10.13/
./configure --enable-optimizations
make

4.安装

sudo make install

到这里可以删除 python3.8了 参考上面的删除办法

5.更新Python链接

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
# 下面这一句不要设置的好 容易导致 apt update 出错  所以呢 需要用到python3.10 的时候 直接使用命令 python3.10 *.py
sudo update-alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.10 2

检查:

python3 -V

可以看到,python3 已经默认指向了 python3.6,按回车即可。

最后 重复 上面的安装步骤 另外 记得 不要使用 root 权限运行pip3

另外,如果需要使用 python3.10 的话 使用命令

python3.10 *.py

6.还需要特别注意:

(1)升级pip3  pip3 install --upgrade pip

(2)使用命令 python3 -m pip install *   来安装以后的包

python3 -m pip  install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu   #无cuda版的

(3) 安装完成后,系统提示一些包安装到了 一个不在环境变量的路径

WARNING: The script f2py is installed in '/home/sinoll/.local/bin' which is not on PATH.

添加路径到环境变量

cd ~
vim .bashrc

在文件最后添加

PATH=$PATH:/home/sinoll/.local/bin

应用新的环境变量

source .bashrc

三 最中验证 pytorch 是否正常运行

import torch
x = torch.rand(5, 3)
print(x)

输出类似这样的信息

tensor([[0.8953, 0.4084, 0.2100],
        [0.2563, 0.8302, 0.7809],
        [0.8963, 0.9047, 0.0858],
        [0.3024, 0.3148, 0.3245],
        [0.4419, 0.8239, 0.4025]])
安装完成  期待后续自己写的代码


评论

登录后可以发表评论与回复。

还没有评论,来做第一个发言的人。