下载centos7镜像
docker pull centos:centos7
启动容器centos-python-3.7
docker run -itd --name centos-python-3.7 -p 60021:22 --privileged centos:centos7 /usr/sbin/init
进入容器
docker exec -it centos-python-3.7 /bin/bash
centos7环境下安装python3.7.9
在Linux的home目录下创建一个python3目录
mkdir /home/python3
切换到python3目录
cd /home/python3
下载安装包到python3目录中(也可通过在网站下载安装包手动拖入到指定目录)
wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tgz
【bash: wget: command not found】 yum -y install wget
将安装包解压到当前目录
tar xvf Python-3.7.9.tgz
提前安装编译时所需要的依赖包,避免中途出错
yum -y install vim unzip net-tools
yum -y install wget && yum -y install bzip2
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
yum -y install libglvnd-glx
yum -y install gcc gcc-c++
安装前先修改python配置文件Setup.dist和Setup(python2),否则使用过程中可能会出现No module named '_ssl’错误
进入文件所在目录
cd /home/python3/Python-3.7.9/Modules
修改Setup.dist文件
vi Setup.dist
【在非编辑状态下 esc键,输入:set number,用来展示行数】
编辑状态 i 保存退出 esc键 :wq
进入Python-3.7.9目录
cd …
指定python3安装路径/usr/local/python3.7
./configure --prefix=/usr/local/python3.7
编译+安装
make
make install
添加软链接(相当于设置桌面快捷方式)
添加python3软链接到/usr/bin/python3
ln -s /usr/local/python3.7/bin/python3.7 /usr/bin/python3
添加pip3软链接到/usr/bin/pip3
ln -s /usr/local/python3.7/bin/pip3 /usr/bin/pip3
查看是否安装成功
python3 -V
其他问题
- 正确升级pip3的姿势: pip3 install --upgrade pip
- bash: make: command not found yum -y install gcc automake autoconf libtool make
- Docker常用指令: 个人网站-Docker常用指令
- centos8环境下 报错 centos8 Cannot prepare internal mirrorlist: No URLs in mirrorlist
Failed to download metadata for repo ‘AppStream’: Cannot prepare internal mirrorlist: No URLs in mirrorlist
原因:
2022 年 1 月 31 日,Cent OS团队终于从官方镜像中移除了 CentOS 8 的所有软件包。CentOS 8 已于 2021 年 12 月 31 日结束生命周期。
官方临时镜像地址从 mirror.centos.org 移到 https://vault.centos.org
解决方案:
root用户执行以下命令解决
sed -i -e “s|mirrorlist=|#mirrorlist=|g” /etc/yum.repos.d/CentOS-*
sed -i -e “s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g” /etc/yum.repos.d/CentOS-*
下载单个包
python3 -m pip download -d /home/wheels scipy==1.7.3 -i https://pypi.tuna.tsinghua.edu.cn/simple
下载多个包(为了离线安装)
python3 -m pip download -d /home/wheels -r /home/requirement.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
docker cp命令 从容器中复制文件到本地
docker cp centos-python-3.7:/home/wheels /data
docker cp也可以从本地copy文件到容器中
docker cp /data centos-python-3.7:/home/wheels
离线安装python的库及依赖库
使用本地索引依赖包,pip提供了可以在本地目录搜索依赖包的选项,这样安装的好处是以前安装过的依赖包不会更新,避免出现升级带来的bug。
pip install --no-index --find-links=./wheels -r requirements.txt
需要安装的库及其版本放在了requirements.txt中,下载的离线包放在了项目的wheels下文章来源:https://www.toymoban.com/news/detail-614116.html
镜像数据源
清华:https://pypi.tuna.tsinghua.edu.cn/simple
阿里云:http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
豆瓣:http://pypi.douban.com/simple/文章来源地址https://www.toymoban.com/news/detail-614116.html
到了这里,关于docker基于centos7镜像安装python3.7.9的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!