【Pycharm教程】PyCharm 使用 Docker 配置 Python 解释器

2022年11月16日 211点热度 0人点赞 0条评论


介绍


PyCharm 与Docker的集成允许您在 Docker 容器中部署的各种配置的开发环境中运行您的应用程序。


先决条件


确保满足以下先决条件:


  • Docker 已安装,如Docker Docs页面中所述。您可以在各种平台上安装 Docker,但这里我们将使用Windows安装。


请注意,您可能希望在不同平台上重复本教程;然后使用macOS和Linux的 Docker 安装(Ubuntu,也可以使用其他与发行版相关的说明)。


  • 你有一个稳定的互联网连接。


确保您有稳定的 Internet 连接,以便 PyCharm 可以下载和运行busybox:latest. 成功配置 Docker 后,就可以下线了。


  • 在开始使用 Docker 之前,请确保已启用Docker插件。该插件与 PyCharm 捆绑在一起,默认情况下是激活的。如果插件未激活,请在 IDE 设置的插件Ctrl+Alt+S页面上启用它,如安装插件中所述。


在Settings/Preferences对话框 ( Ctrl+Alt+S) 中,选择Build、Execution、Deployment | Docker,然后在Connect to Docker daemon with下为 <您的操作系统> 选择 Docker。例如,如果您使用的是 macOS,请选择Docker for Mac。在Docker 设置中查看更多详细信息。


请注意,您不能将任何 Python 包安装到基于 Docker 的项目解释器中。


准备一个例子


创建一个 Python 项目 QuadraticEquation,添加Solver.py文件,然后复制并粘贴以下代码:


import math
class Solver:
def demo(self, a, b, c): d = b ** 2 - 4 * a * c if d > 0: disc = math.sqrt(d) root1 = (-b + disc) / (2 * a) root2 = (-b - disc) / (2 * a) return root1, root2 elif d == 0: return -b / (2 * a) else: return "This equation has no roots"

if __name__ == '__main__': solver = Solver()
while True: a = int(input("a: ")) b = int(input("b: ")) c = int(input("c: ")) result = solver.demo(a, b, c) print(result)


将 Docker 配置为远程解释器


现在,让我们定义一个基于 Docker 的远程解释器。


确保您已在计算机上下载并安装Python。


1. 执行以下操作之一:


  • 单击Python 解释器选择器并选择添加解释器。

  • 按Ctrl+Alt+S打开项目设置/首选项并转到项目 <项目名称> | Python 解释器。单击图片并选择添加。


2. 在打开的对话框中,选择Docker选项,从列表中选择 Docker 服务器(如果缺少服务器,请单击新建...),然后指定映像名称:python:latest。Python 解释器路径应该具有默认值:


因此,在项目设置中,您应该会看到如下内容:


3. 单击确定以应用更改并关闭对话框。

在 Docker 容器中运行您的应用程序


main在装订线中,在子句旁边,单击图片按钮,然后选择运行“Solver.py”命令。您会看到您的脚本在 Docker 容器中运行:


该脚本在运行工具窗口中启动。如您所见,运行工具窗口中的前缀显示了容器 ID。



切换到服务工具窗口以预览容器详细信息。展开Containers节点,您会发现具有相同 ID 的节点。



您可以切换到Log选项卡以查看执行结果。



在 Docker 容器中调试应用程序


接下来,让我们调试应用程序。为此,让我们在计算的行上放置一个断点d,单击装订线并选择Debug 'Solver'。


正如您在调试工具窗口的控制台选项卡中看到的,调试器也在 Docker 容器中运行:


您还可以在“服务”工具窗口中发现它。但是,现在这个容器有一个不同的 id,因此 - 不同的名称。您可以切换到Log选项卡以查看执行状态。



当应用程序以任何方式执行时,PyCharm 创建一个新容器很重要。无论是运行、调试、覆盖运行、测试——每次执行都需要一个新容器!



程序员技术交流群


扫码进群记得备注:城市、昵称和技术方向


 阅读更多


  1. Pyston 2.3.5发布,比Python更快的开源替代实现
  2. 【Pycharm教程】PyCharm 使用 SSH 配置 Python 解释器
  3. 用 Numba 加速 Python 代码,变得像 C++ 一样快

94490【Pycharm教程】PyCharm 使用 Docker 配置 Python 解释器

root

这个人很懒,什么都没留下

文章评论