【Pycharm教程】PyCharm 配置 Python 项目运行和调试
PyCharm 使用运行/调试配置来运行、调试和测试您的代码。每个配置都是一组命名的启动属性,它们定义要执行的内容以及应该使用的参数和环境。
使用不同的启动属性,您可以定义 PyCharm 用来执行脚本的不同方式。例如,您可以使用不同的 Python 解释器执行相同的代码,提供各种环境变量集,并从替代文件中获取输入值。
有两种类型的运行/调试配置:
-
临时的——每次运行或调试函数或测试时创建。
-
永久- 从模板显式创建或通过保存临时配置创建。永久配置保留为项目的一部分,直到您将其删除。
因此,每当您运行/调试或测试代码时,PyCharm 要么使用现有的永久运行/调试配置,要么创建一个新的临时配置。
永久配置的图标是不透明的,而临时配置的图标是半透明的。
临时配置的最大数量为5个。添加新配置时,旧配置会自动删除。如有必要,您可以在Settings/Preferences |中增加此限制。高级设置 | IDE | 临时配置限制。
创建永久运行/调试配置
PyCharm 提供以下方法来创建永久运行/调试配置:
-
将临时运行/调试配置保存为永久。
-
从模板创建或复制现有配置。
将临时配置另存为永久
-
在运行/调试配置切换器中选择一个临时配置,然后单击保存配置。
保存临时配置后,它将成为永久配置,并记录在 /.idea/目录中的单独 XML 文件中。例如,MyProject /.idea /Car.xml。
-
或者,在运行/调试配置对话框中选择一个临时配置,然后单击
工具栏上的 。
PyCharm为不同的语言、工具和框架提供运行/调试配置模板。可用模板列表因已安装和启用的插件而异。
从模板创建运行/调试配置
1. 从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。
2. 在“运行/调试配置”对话框中,单击
工具栏上的 或按Alt+Insert。该列表显示运行/调试配置模板。
3. 在名称字段中指定运行/调试配置名称。此名称将显示在可用的运行/调试配置列表中。
4. 如果您希望允许配置的多个实例同时运行,请选择允许并行运行。如果禁用此选项,尝试重新运行配置将终止活动会话。
5. 设置运行/调试配置参数。
6. 在启动前部分,定义是否要在启动应用程序之前执行任何特定操作,例如,在启动运行/调试配置之前执行一些工具或脚本。
7. 应用更改并关闭对话框。
共享运行/调试配置
如果您在团队中工作,您可能希望共享您的运行/调试配置,以便您的队友可以使用相同的配置运行应用程序,或者使他们能够远程附加到您正在运行的进程。
出于这些目的,PyCharm 提供了一种将运行/调试配置存储为项目文件并通过 VCS 共享它们的机制。当您想将配置作为文件发送给其他人时,也可以使用相同的机制。这可以节省大量时间,因为运行/调试配置有时会变得复杂,并且手动保持它们同步会很乏味且容易出错。
基于.ipr的旧项目不支持单独的运行/调试配置。对于遗留项目,您只能通过将.ipr文件添加到 VCS 来一次共享所有配置。
1. 从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。
2. 选择您要共享的运行/调试配置,启用存储为项目文件选项,并指定将存储配置文件的位置。如果需要与 PyCharm 2019.3 及更早版本兼容,请将文件存储在默认位置。
3. (可选)如果将.idea目录添加到 VCS 忽略的文件中,则.idea/runConfigurations子文件夹也将被忽略。
如果您在项目中使用 Git,则可以仅共享.idea/runConfigurations并通过修改.gitignore将.idea忽略,如下所示:
/.idea/*
!/.idea/runConfigurations
打开存储为项目文件选项不会为您向 VCS 提交任何内容。为了让运行/调试配置进入共享存储库,您必须像其他版本化文件一样签入它们。
运行/调试配置模板
所有运行/调试配置都基于模板,这些模板实现了启动逻辑,定义了参数列表及其默认值。可用模板列表在安装中预定义,只能通过插件扩展。但是,您可以编辑每个模板中的默认参数值,以简化新运行/调试配置的设置。
更改模板的默认值不会影响现有的运行/调试配置。
不要为模板节点下列出的默认运行/调试配置设置工作目录。这可能会导致新创建的运行/调试配置中的目标无法解析。
配置模板的默认值
1. 从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。
2. 在运行/调试配置对话框的左侧窗格中,单击编辑配置模板...。
3. 在打开的“运行/调试配置模板”对话框中,选择一种配置类型。
4. 指定所需的默认参数,然后单击“确定”保存模板。
复合运行/调试配置
假设您想同时启动多个运行/调试配置。例如,您可能想要运行多个不同类型的配置或一组测试配置。您可以使用复合运行/调试配置来配置此行为。
不保证执行顺序。如果您需要按顺序运行运行/调试配置,请在运行/调试配置的启动前区域中定义应该最后运行的顺序。
创建复合运行/调试配置
1.从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。
2.在Run/Debug Configurations对话框中,单击
或按Alt+Insert,然后选择Compound。
3.在名称字段中指定运行/调试配置名称。此名称将显示在可用的运行/调试配置列表中。
4.选择存储为项目文件以使此运行/调试配置可供其他团队成员使用。
5.要将新的运行/调试配置包含到复合配置中,请单击添加
并从列表中选择所需的配置。
6.应用更改。
运行/调试配置文件夹
当有许多相同类型的运行/调试配置时,您可以将它们分组到文件夹中,以便它们在视觉上更容易区分。
分组后,运行/调试配置将出现在相应文件夹下的列表中。
为运行/调试配置创建一个文件夹
1.从主菜单中,选择运行 | 编辑配置。或者,按Alt+Shift+F10,然后按0。
2.在“运行/调试配置”对话框中,选择一种配置类型并单击
工具栏上的 。将为所选类型创建一个新的空文件夹。
3.在右侧的文本字段中指定文件夹名称或接受默认名称。
4.选择所需的运行/调试配置并将它们移动到目标文件夹下。
5.应用更改。如果文件夹为空,则不会保存。
当您不再需要某个文件夹时,可以将其删除Delete。分组在此文件夹下的运行/调试配置将移动到相应运行/调试配置类型的根目录下。
在服务工具窗口中运行/调试配置
您可以在服务工具窗口中管理多个运行/调试配置。例如,您可以启动、暂停和停止多个应用程序,跟踪它们的状态,并检查特定于应用程序的详细信息。
将运行/调试配置添加到服务窗口
1. 选择查看 | 工具窗口 | 主菜单中的服务Alt+8或按。
2. 在Services工具窗口中,单击Add service,然后选择Run Configuration Type。
3. 从列表中选择一种运行/调试配置类型,以将这种类型的所有配置添加到窗口中。请注意,工具窗口将仅显示您为其创建了一个或多个配置的配置类型。
运行/调试配置参数
物品 |
描述 |
脚本路径/模块名称 |
单击列表以选择要运行的目标类型。然后,在相应的字段中,指定 Python 脚本的路径或要执行的模块名称。 |
参数 |
在此字段中,指定要传递给 Python 脚本的参数。指定脚本参数时,请遵循以下规则:使用空格分隔各个脚本参数。包含空格的脚本参数应使用双引号分隔,例如,some" "param 或"some param" 。如果脚本参数包含双引号,请使用反斜杠转义双引号,例如:-s"main.snap_source_dirs=["pcomponents/src/main/python"]" -s"http.cc_port=8189" -s"backdoor.port=9189" -s"main.metadata={"location": "B", "language": "python"}" .在此字段中,您可以添加宏以在运行运行/调试配置时传递各种项目或上下文特定的值。单击+并从列表中选择一个可用的宏。 |
环境 |
|
项目 |
单击此列表以选择在同一 PyCharm 窗口中打开的项目之一,应使用此运行/调试配置。如果只有一个打开的项目,则不显示该字段。 |
环境变量 |
此字段显示环境变量列表。如果列表包含多个变量,则它们用分号分隔。默认情况下,该字段包含PYTHONUNBUFFERED 设置为 1 的变量。要填写列表,请单击浏览按钮,或在“环境变量”对话框中按Shift+Enter并指定所需的环境变量集。要创建新变量,请单击 ,然后键入所需的名称和值。您可能希望使用在文本文件中存储为一系列记录的变量填充列表,例如:Variable1 = Value1 Variable2 = Value2 只需从文本文件中复制变量列表,然后单击环境变量对话框中的粘贴( ) 。变量将被添加到表中。单击确定以完成任务。您可以随时在“环境变量”对话框中选择所有变量,单击“复制”,然后将它们粘贴到文本文件中。 |
Python 解释器 |
从列表中选择一个预配置的Python 解释器。当 PyCharm 停止支持任何过时的 Python 版本时,相应的 Python 解释器将被标记为不受支持。 |
口译员选项 |
在此字段中,指定要传递给解释器的命令行选项。如有必要,单击 ,然后在编辑器中键入字符串。 |
工作目录 |
指定正在运行的任务要使用的目录。Ctrl+Shift+F10当通过键盘快捷键或从脚本的上下文菜单中选择运行来创建默认运行/调试配置时,工作目录就是包含可执行脚本的目录。此目录可能与项目目录不同。当此字段留空时,将使用 PyCharm 安装的bin目录。 |
将内容根添加到 PYTHONPATH |
选中此复选框可将项目的所有内容根添加到环境变量 PYTHONPATH; |
将源根目录添加到 PYTHONPATH |
选中此复选框可将项目的所有源根添加到环境变量 PYTHONPATH; |
执行 |
|
在输出控制台中模拟终端 |
允许使用模拟终端模式在输出控制台中运行您的脚本或模块。此模式对于无法使用标准输出控制台实现的任务很有帮助,例如,当您的脚本执行插入符号返回操作 ( print(i, flush=True , end='r' ) 时。请注意,在输出控制台中模拟终端与运行终端不同,终端是用于运行系统 shell 命令的单独工具窗口。 |
使用 Python 控制台运行 |
允许使用 Python 控制台运行脚本或模块。 |
重定向输入 |
允许将数据从文本文件重定向到标准输入。如果您的脚本需要一些输入并且您希望自动提交值而不是在运行控制台中键入它们,请使用此选项。要启用重定向,请选中复选框并指定目标文本文件的路径。 |
Docker 容器设置此字段仅在为项目选择基于 Docker 的远程解释器时出现。单击以打开对话框并指定以下设置: |
|
选项 |
发布所有端口:将所有容器端口公开给主机。这对应于选项--publish-all 。端口绑定:指定端口绑定列表。类似于使用-p 带有 的选项docker run 。卷绑定:使用此字段指定特殊文件夹卷与运行 Docker 守护程序的计算机文件夹之间的绑定。这对应于-v 选项。环境变量:使用此字段指定环境变量列表及其值。这对应于-e 选项。运行选项:使用此字段指定Docker 命令行选项。单击 以展开表格。单击、或组成列表。 |
码头工人撰写此字段仅在选择基于 Docker Compose 的远程解释器时出现。 |
|
命令和选项 |
您可以使用 Docker Compose 命令行界面的以下命令:命令支持的选项up— 为服务构建、创建、启动和附加到容器。--build , --abort-on-container-exit , --timeout TIMEOUT , --exit-code-from SERVICE , --scale SERVICE=NUM... ,SERVICE... run — 针对服务运行一次性命令。请参阅参考文档。--name NAME , --entrypoint CMD , -l, --label KEY=VAL , -u, --user="" , --rm , -p, --publish=[] , --service-ports , --use-aliases , -v, --volume=[] .exec — 在您的服务中运行任意命令。--privileged , -u, --user USER , --index=index . |
命令预览 |
您可以展开此字段以预览完整的命令字符串。示例:如果您在命令和选项字段中输入以下组合:up --build exec --user jetbrains 预览输出应如下所示:docker-compose -f C:PyCharm-2019.2Demosdjangodocker-masterdocker-compose.yml -fup --build exec --user jetbrains |