Docker 容器内安装Python3环境

本文介绍了如何在Docker容器中安装Python 3.7.3和vim,包括使用apt-get命令安装依赖和从源码编译Python。还解决了在安装vim时遇到的无法定位包的问题,提供了配置国内镜像源和允许未验证包的解决办法。此外,针对pip未找到的情况,给出了卸载并重新安装pip的步骤。
部署运行你感兴趣的模型镜像
apt-get update
apt-get upgrade
apt install build-essential -y
apt install libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev -y
apt install zlib1g-dev
apt install wget
apt install openssl
apt install curl
apt install libsqlite3-dev
wget https://www.python.org/ftp/python/3.7.3/Python-3.7.3.tgz
tar -xvf Python-3.7.3.tgz
cd Python-3.7.3
./configure —enable-loadable-sqlite-extensions
make
make install
apt-get clean
rm -rf /var/lib/apt/lists/*
ln -s /usr/local/bin/pip3 /usr/bin/pip
ln -s /usr/local/bin/python3 /usr/bin/python

在使用docker容器时,有时候里边没有安装vim,使用vim命令时会提示:vim: command not found,这个时候就需要安装vim,可是当你敲apt-get install vim命令时,提示:

root@1b4671904bfa:/# apt-get install vim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package vim

解决方式:

1.配置国内镜像源

实际在使用过程中,运行 apt-get update,然后执行 apt-get install -y vim,下载地址由于是海外地址,下载速度异常慢而且可能中断更新流程,所以做下面配置:

mv /etc/apt/sources.list /etc/apt/sources.list.bak
echo "deb http://mirrors.163.com/debian/ jessie main non-free contrib" >/etc/apt/sources.list
echo "deb http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie main non-free contrib" >>/etc/apt/sources.list
echo "deb-src http://mirrors.163.com/debian/ jessie-proposed-updates main non-free contrib" >>/etc/apt/sources.list

2.执行更新和安装命令 

apt-get update
apt-get install -y vim,有可能会出现下面的提示:
WARNING: The following packages cannot be authenticated!
  libgpm2 vim-common vim-runtime vim
E: There were unauthenticated packages and -y was used without —allow-unauthenticated
用下面的命令执行
apt-get install -y vim --allow-unauthenticated

pip已经安装,但是/usr/local/bin/pip: No such file or directory

解决方法:

pip在usr/local/bin/pip,如果已经安装pip,要先进行卸载
1.sudo apt-get remove python-pip
2.wget https://bootstrap.pypa.io/get-pip.py
3.python get-pip.py
4.hash -r

 

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

### 如何在Docker容器安装Python #### 创建自定义Dockerfile以包含Python环境 为了确保一致性和可移植性,最佳实践是从官方的Python镜像开始构建。对于大多数应用场景而言,`python:3.8-slim` 或 `python:3.9-slim` 是不错的选择,因为它们基于Debian精简版,体积较小但功能完备。 创建一个新的文件名为 `Dockerfile` 的文本文件,并加入如下内容: ```dockerfile FROM python:3.8-slim # 设置工作目录 WORKDIR /app # 安装必要的系统依赖项 (如果有的话) RUN apt-get update && \ apt-get install -y --no-install-recommends \ build-essential \ libssl-dev \ libffi-dev \ python3-dev \ && rm -rf /var/lib/apt/lists/* # 复制当前项目的源码到容器内的/app路径下 COPY . . # 如果有pip需求,则在此处指定安装所需的库 RUN pip install --upgrade pip setuptools wheel && \ pip install -r requirements.txt # 可选:设置默认入口点或CMD指令用于启动服务或其他脚本 ENTRYPOINT ["python"] CMD ["your_script.py"] ``` 上述过程描述了如何通过编写定制化的 `Dockerfile` 文件来准备一个带有特定版本Python解释器及其开发工具链的基础映像[^1]。 #### 使用预建好的Python Docker镜像快速测试 如果不希望从头创建整个镜像,也可以直接利用已经包含了所需Python版本和其他常用组件的现成镜像来进行简单的命令行交互式会话。例如,想要立即获得一个具有最新稳定版Python解释器访问权限的shell session,可以执行下面这条命令: ```bash docker run -it --rm python:latest bash ``` 此命令将会拉取最新的Python官方镜像并开启一个临时性的Bash shell供用户即时操作[^3]。 #### 结合CI/CD平台如Jenkins实现自动化部署流程中的Python支持 当涉及到持续集成和交付(CI/CD)管道时,可以在Jenkins job配置里指定使用的Docker镜像作为构建代理的一部分。这意味着每次触发pipeline作业的时候都会自动在一个干净的状态下的新容器内完成所有任务,从而避免了传统方式带来的潜在污染风险以及跨主机间的差异问题。 具体来说,在Jenkins环境中可以通过Pipeline as Code的形式声明所期望的工作节点特性之一就是具备给定标签的Docker image资源池成员身份;或者是更进一步地直接嵌入多阶段式的Groovy script去动态管理生命周期长短不一的各种子进程实例化行为——包括但不限于克隆Git仓库、编译打包制品乃至最终推送至远程注册表等动作序列[^4]。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值