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

简介: 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
  1. 在 Dockerfile 中,我们使用 Python 2.7.18 的官方镜像作为基础镜像,并设置了工作目录、复制项目文件和安装依赖。
  2. 构建 Docker 镜像:在终端中,进入到包含 Dockerfile 的项目根目录,并运行以下命令来构建 Docker 镜像。
docker build -t my-python2-app .
  1. 这将根据 Dockerfile 中的配置构建一个名为 my-python2-app 的镜像。注意,命令最后的 . 表示使用当前目录作为构建上下文。
  2. 运行 Docker 容器:在终端中,运行以下命令来启动一个基于你构建的镜像的 Docker 容器。
docker run -it --rm -v .:/app  my-python2-app
  1. 这将启动一个交互式的容器,并将当前目录挂载到容器的 /app 目录中。
  2. 安装 VS Code 插件:在 VS Code 中,安装 “Dev Containers” 扩展。这个扩展允许我们连接到 Docker 容器进行开发。

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

  4. 选择容器:从列表中选择刚刚运行的容器。VS Code 将尝试连接到选定的容器。

  • 连接成功,打开工作目录即可看到咱们的文件。
  1. 文件打开成功将显示如下

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

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

相关文章
|
7天前
|
缓存 监控 开发者
掌握Docker容器化技术:提升开发效率的利器
在现代软件开发中,Docker容器化技术成为提升开发效率和应用部署灵活性的重要工具。本文介绍Docker的基本概念,并分享Dockerfile最佳实践、容器网络配置、环境变量和秘密管理、容器监控与日志管理、Docker Compose以及CI/CD集成等技巧,帮助开发者更高效地利用Docker。
|
1月前
|
前端开发 JavaScript 编译器
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
【10月更文挑战第11天】2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
65 0
2024最新VSCode实用插件推荐,开发效率遥遥领先!超全面,快收藏~
|
1月前
|
网络安全 Docker 容器
VScode远程服务器之远程 远程容器 进行开发(五)
VScode远程服务器之远程 远程容器 进行开发(五)
28 1
|
1月前
|
IDE 开发工具
Vscode的远程开发之VScode优势(一)
Vscode的远程开发之VScode优势(一)
30 1
|
1月前
|
IDE 网络安全 开发工具
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
本文介绍了如何使用VS Code通过Remote-SSH插件连接远程服务器进行代码开发,并与PyCharm进行了对比。作者认为VS Code在连接和配置多个服务器时更为简单,推荐使用VS Code。文章详细说明了VS Code的安装、远程插件安装、SSH配置文件编写、服务器连接以及如何在连接后切换文件夹。此外,还提供了使用密钥进行免密登录的方法和解决权限问题的步骤。
402 0
IDE之vscode:连接远程服务器代码(亲测OK),与pycharm链接服务器做对比(亲自使用过了),打开文件夹后切换文件夹。
|
1月前
|
存储 持续交付 开发者
掌握Docker容器化:提升开发效率与应用部署
【10月更文挑战第4天】在现代软件开发中,Docker容器化技术因其轻量级、可移植和快速部署的特点,成为提升开发效率和简化部署流程的关键工具。本文介绍了Docker的基本概念、核心组件及其优势,并探讨了如何在开发环境中搭建、微服务架构及CI/CD流程中有效利用Docker,助力软件开发更加高效便捷。
|
1月前
|
网络安全 数据安全/隐私保护 C++
VS Code 的SSH连接不成功问题分析与解决
VS Code 的SSH连接不成功问题分析与解决
|
1月前
|
Kubernetes 网络安全 容器
VScode远程服务器进行开发(三)
VScode远程服务器进行开发(三)
36 0
|
1月前
|
Linux 网络安全 Windows
VScode远程开发之remote 远程开发(二)
VScode远程开发之remote 远程开发(二)
23 0
|
2月前
|
开发框架 .NET C#
VSCode开发.net项目时调试无效
【9月更文挑战第22天】在使用 VSCode 开发 .NET 项目时遇到调试问题,可从项目配置、调试配置、调试器安装、运行环境、日志和错误信息等方面排查。确认项目类型及文件配置,检查 `launch.json` 文件及配置项,确保调试器扩展已安装并启用,验证 .NET 运行时版本和环境变量,查看 VSCode 输出窗口和项目日志文件,检查权限及代码错误。若问题仍未解决,可查阅官方文档或社区论坛。