拉取的docker镜像中更换python以及pip版本

场景:

需要tensorflow1.10 python3.6 的环境,但是拉取的tf1.10镜像中,默认python版本是3.5 ,此时我们需要安装python3.6版本,将python命令的软连接删除,并且指向新安装的3.6,且pip的连接也应该指向python3.6版本

 

1.去dockerhub中拉取合适版本的镜像   

docker pull tensorflow/tensorflow:1.10.1-devel-gpu-py3 

2.创建容器

docker run -id --gpus all  --name proName  tensorflow/tensorflow:1.10.1-devel-gpu-py3 /bin/bash

3.添加PPA源

sudo add-apt-repository ppa:deadsnakes/ppa

4.更新

sudo apt update

5.安装python3.6

sudo apt install python3.6 python3.6-dev -y

6. 修改python命令默认指向python3.6:

1)查看默认python指向:
ls -l /usr/bin | grep python 
2)删除原有python软连接
rm /usr/bin/python
3) 建立python到python3.6新的软链接
ln -s /usr/bin/python3.6 /usr/bin/python

结果 :

拉取的docker镜像中更换python以及pip版本_第1张图片

7.  ubuntu 安装pip:直接安装python3版本pip

apt-get install python3-pip     ---这里也有个小坑!如果你写的是python3-pip 执行安装后,如果系统自带了python3.5,其实pip这时是装在了python3.5环境下了!!!
apt-get install python3.6-pip   ---正确的指定方式,应该把小版本号也加上!
 建立pip到pip3的软连接
ln -s /usr/bin/pip3 /usr/bin/pip

8.如果执行apt-get install python3.6-pip 报错

则安装新的pip
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

  • 如果安装到python下就是

python get-pip.py --force-reinstall

  • 如果安装到python3下就是

python3 get-pip.py --force-reinstall

成功

查看pip版本 及 指向

pip -V

或者

pip --version

结果: 

查看pip的位置

which pip

 结果:

 

但这时,安装的pip是一个新的pip,替代了之前镜像中自带的pip中已经下好的东西
现在的pip是一个全新的环境,需要自己全部添加需要的环境


参考相关连接
https://blog.csdn.net/th_num/article/details/82804392
https://blog.csdn.net/weixin_43802384/article/details/90040968
https://blog.csdn.net/weixin_42259631/article/details/82818058
https://www.jianshu.com/p/2a5cd519e583?tdsourcetag=s_pcqq_aiomsg
https://blog.csdn.net/weixin_30300523/article/details/101772159?utm_medium=distribute.pc_aggpage_search_result.none-task-blog-2~all~sobaiduend~default-1-101772159.nonecase&utm_term=%E5%8D%87%E7%BA%A7docker%E4%B8%AD%E7%9A%84python%E7%89%88%E6%9C%AC&spm=1000.2123.3001.4430

你可能感兴趣的:(docker,pip,python)