docker容器中自带python2.7 和python3.6
查看当前安装的python
whereis python
# 输出为:
python: /usr/bin/python2.7-config /usr/bin/python /usr/bin/python2.7 /usr/lib/python2.7 /usr/lib/python3.5 /etc/python /etc/python2.7 /usr/local/lib/python2.7 /usr/include/python2.7 /usr/share/python /opt/conda/bin/python /opt/conda/bin/python3.6m /opt/conda/bin/python3.6 /opt/conda/bin/python3.6m-config /opt/conda/bin/python3.6-config /usr/share/man/man1/python.1.gz
去官网下载Python-3.8.1.tar.xz
wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tar.xz
# 如果下载失败
1.将服务器DNS改成 8.8.8.8
2.将源改为清华或者豆瓣源
解压方法
方法1(我用这个就成功了,不行的话可以试试2)
tar -xvJf Python-3.8.1.tar.xz
方法2
#解压
xz -d Python-3.8.1.tar.xz
tar -xf Python-3.8.1.tar
3.进入解压后的目录
cd Python-3.8.1/
4.安装依赖(非必要,但建议都装一下,不装可能会在step5 或者 装完跑代码的时候报错)
执行下列命令安装依赖过程中,如有提示,一律输入 y 。
sudo apt-get install python-dev libffi-dev libssl-dev
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev
5.执行安装
./configure prefix=/usr/local/python3
make && make install
6.修改软连接(配置全局变量)
#查看现有的python路径
# 查看python2.7的路径
which python
# 查看python3.6的路径
which python3
输出为
/opt/conda/bin/python
/opt/conda/bin/python3
我只修改了python3的软连接,python仍然连接到python2.7
#备份现有的软连接
mv /opt/conda/bin/python3 /opt/conda/bin/python3.bak
#添加python3的软链接
ln -s /usr/local/python3/bin/python3.8 /opt/conda/bin/python3
#测试是否安装成功了
python3 -V
输出为
Python 3.8.1
如果需要将python也连接到python3.8,可以这样
#备份
mv /opt/conda/bin/python /opt/conda/bin/python.bak
#添加
ln -s /usr/local/python3/bin/python3.8 /opt/conda/bin/python
7. 安装/升级pip
执行安装
#这句是给(python2.7安装pip)
sudo apt-get install python-pip
#这句是给python3安装pip
sudo apt-get install python3-pip
执行升级
pip install --upgrade pip
pip3 install --upgrade pip
升级pip时出现了以下问题:
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
使用命令即可
python -m pip install --upgrade pip
参考文章:
技术渣渣,总结一下自己走的坑。如有问题,欢迎讨论交流,共同进步!