
Ubuntu 安装指定版本 python
场景
在构建 docker 镜像的时候为了与 TensorFlow、Pytorch 或者其他程序能兼容使用,需要安装指定版本的 python。常用的安装命令 apt-get 有时候不能很”精确“指定,甚至是找不到源。
隔山修路、遇水搭桥:python 官网有所有的版本,下载到本地手动安装。
方法安装依赖
apt-get install libssl-dev openssl make gcc libffi-dev zlib1g-dev libbz2-dev zlibc wget下载要安装的 python 版本并解压。这里以 python3.9 为例。 从 Python 官网下载速度很慢,这里推荐一个国内镜像网站
cd /opt wget registry.npmmirror/-/binary/python/3.9.2/Python-3.9.2.tgz tar xzvf Python-3.9.2.tgz进入python根目录并编译
cd Python-3.9.2 ./configure make make install这就完成安装了。默认安装到 usr/local/bin 路径下。
# ls /usr/local/bin/ 2to3 2to3-3.9 easy_install-3.9 idle3 idle3.9 pip3 pip3.9 pydoc3 pydoc3.9 python3 python3-config python3.9 python3.9-config查看 PATH 路径。
# echo ${PATH} /usr/local/nvidia/bin:/usr/local/cuda/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin发现 usr/local/bin ,所以刚才安装的 python3.9 能直接使用。
root@a8998da2dddc:/# python3 --version Python 3.9.2 两个路径的区别usr/bin 和 usr/local/bin 都存放安装好的应用程序,二者有什么区别呢?
首先 usr 全程是 Unix System Resource 而不是 User 的什么缩写。
usr/bin 都是系统预装的可执行程序,会随着升级而改变。
usr/local/bin 是给用户存放自己可执行程序的地方,推荐放在这里,不会被系统升级而覆盖同名文件。
如果两个目录下有相同的可执行程序,PATH 路径下哪个目录在前面,该目录下的程序优先执行。