当前位置: 首页 > news >正文

M1 Pro 利用docker 搭建pytho2的开发环境,以vscode连接开发为例

使用 M1 Pro (不支持python2的安装)开发,需要使用 Python 2.7 的环境,在使用 pyenv 安装 Python 2 时遇到了各种奇怪的问题。最终,我决定使用 Docker 搭建开发环境,并使用 VS Code 连接到本地容器。以下是详细的步骤总结(Markdown 格式):

  1. 安装 Docker:首先,确保已在 M1 Pro 上安装了 Docker。可以从 Docker 官方网站下载并按照说明进行安装。

  2. 到DockerHub 获取合适的python版本,以下以python 2.718为例。
    在这里插入图片描述

  3. 创建 Dockerfile:在项目根目录下创建一个名为 Dockerfile 的文件。

    python:2.7.18# 设置工作目录
    WORKDIR /app# 复制项目文件到容器中
    COPY .  /app# 设置环境变量
    ENV PYTHONPATH=/app
    

    在 Dockerfile 中,我们使用 Python 2.7.18 的官方镜像作为基础镜像,并设置了工作目录、复制项目文件和安装依赖。

  4. 构建 Docker 镜像:在终端中,进入到包含 Dockerfile 的项目根目录,并运行以下命令来构建 Docker 镜像。

    docker build -t my-python2-app .
    

    这将根据 Dockerfile 中的配置构建一个名为 my-python2-app 的镜像。注意,命令最后的 . 表示使用当前目录作为构建上下文。

  5. 运行 Docker 容器:在终端中,运行以下命令来启动一个基于你构建的镜像的 Docker 容器。

    docker run -it --rm -v .:/app  my-python2-app
    

    这将启动一个交互式的容器,并将当前目录挂载到容器的 /app 目录中。
    在这里插入图片描述

  6. 安装 VS Code 插件:在 VS Code 中,安装 “Dev Containers” 扩展。这个扩展允许我们连接到 Docker 容器进行开发。
    在这里插入图片描述

  7. 连接到容器:在 VS Code 中,点击左边的下图图标,然后选择 “在当前窗口附加”。这将显示一个列表,列出了当前正在运行的容器。
    在这里插入图片描述

  8. 选择容器:从列表中选择刚刚运行的容器。VS Code 将尝试连接到选定的容器。
    在这里插入图片描述

  • 连接成功,打开工作目录即可看到咱们的文件。
    在这里插入图片描述
  1. 文件打开成功将显示如下

在这里插入图片描述
10. 开发,容器里写的代码,由于前面挂在了目录(-v .:/app),所以会在本地持久化,docker 保持无状态。
在这里插入图片描述

如果对你有帮助的话,可以给个小小👍+收藏吗

http://www.lryc.cn/news/144487.html

相关文章:

  • MySQL概述,架构原理
  • Three.js实现模型,模型材质可拖拽效果 DragControls
  • 机器学习笔记之优化算法(二十)牛顿法与正则化
  • 【Go 基础篇】深入探索:Go语言中的切片遍历与注意事项
  • 一些经典的SQL语句
  • 〔018〕Stable Diffusion 之 批量替换人脸 篇
  • Unity字符串性能问题
  • 深入浅出SSD:固态存储核心技术、原理与实战(文末赠书)
  • 关于layui+php,三级联动-编辑回显的问题。
  • lua的函数
  • pytorch/tensorflow 直接给张量中的某个位置的值赋值,操作不可导。
  • 如何使用CSS实现一个平滑滚动到页面顶部的效果(回到顶部按钮)?
  • 【RuoYi移动端】uniApp导入和引用uView2.0插件
  • etcd 备份还原
  • LInux之chrony服务器
  • 《Flink学习笔记》——第七章 处理函数
  • Nacos基础(3)——nacos+nginx 集群的配置和启动 端口开放 nginx反向代理nacos集群
  • 传承精神 缅怀伟人——湖南多链优品科技有限公司赴韶山开展红色主题活动
  • 安全知识普及-如何创建一个安全的密码
  • Lua基础知识
  • Java Math方法记录
  • Java XPath 使用(2023/08/29)
  • el-table动态生成多级表头的表格(js + ts)
  • 四、Kafka Broker
  • ssm+vue医院医患管理系统源码和论文
  • 汽车电子笔记之:基于AUTOSAR的电机控制器架构设计
  • Docker 可以共享主机的参数
  • STL之list模拟实现(反向迭代器讲解以及迭代器失效)
  • Firewalld防火墙新增端口、开启、查看等
  • 【腾讯云 TDSQL-C Serverless 产品测评】- 云原生时代的TDSQL-C MySQL数据库技术实践