运维笔记--Docker环境ubuntu系统安装指定版本python[3.6]
场景描述:
直接安装出现如下异常:
root@ae2d02e458f3:/home# apt-get install python3.6 Reading package lists... Done Building dependency tree Reading state information... Done E: Unable to locate package python3.6 E: Couldn't find any package by glob 'python3.6' E: Couldn't find any package by regex 'python3.6'
按照如下步骤安装,同时解决上述异常:
1. 先执行
sudo apt-get install python-software-properties
sudo apt-get install software-properties-common
2. 添加python3.6 到apt仓库:
sudo add-apt-repository ppa:jonathonf/python-3.6
3. 更新系统
sudo apt-get update
4. 执行安装
sudo apt-get install python3.6
5. 验证
6. 修改python命令默认指向python3.6:
上边我们可以看到,系统输入python, python3, python3.6 会分别进入到不同的环境,这里我们修改成输入python直接进入python3.6环境。
(1)查看默认python指向:
sudo ls -l /usr/bin | grep python
(2)删除原有python软连接
sudo rm /usr/bin/python
(3) 建立python到python3.6新的软链接
sudo ln -s /usr/bin/python3.6 /usr/bin/python
(4) ubuntu 安装pip:直接安装python3版本pip
sudo apt-get install python3-pip ---这里也有个小坑!如果你写的是python3-pip 执行安装后,如果系统自带了python3.5,其实pip这时是装在了python3.5环境下了!!!
sudo apt-get install python3.6-pip ---正确的指定方式,应该把小版本号也加上!
(5) 建立pip到pip3的软连接
sudo ln -s /usr/bin/pip3 /usr/bin/pip
这里需要注意,默认安装的pip版本是0.8几,如果不小心做了pip升级到19或者更高,可能会出现pip默认路径改变的情况,这样会导致上边的软连接失效!
查看pip版本:pip --version
处理方式可以参考:
https://www.cnblogs.com/hellojesson/p/8979926.html
(6) 补充两个pip常用的安装命令
当前项目环境生成requirements.txt文件: pip freeze > requirements.txt 安装requirements.txt中的依赖包: pip install -r requirements.txt
举例:假如我们requirements.txt中内容如下:
pymssql==2.1.4 requests==2.21.0 setuptools==40.8.0
系统环境下,直接运行:pip install -r requirements.txt 就可以将上边指定版本的3个依赖包依次安装上。
pip install -r requirements.txt #直接安装 pip install -i https://pypi.doubanio.com/simple/ -r requirements.txt #用国内源安装 ---设置永久国内源: pip install pip -U #升级 pip 到最新的版本后进行配置: pip config set global.index-url https://mirrors.aliyun.com/pypi/simple/
---国内源 清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/ 阿里云 http://mirrors.aliyun.com/pypi/simple/ 中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple 豆瓣 http://pypi.mirrors.ustc.edu.cn/simple