使用命令行参数运行的 Python 程序如何在Pycharm、VS Code中调试(包括shell脚本运行方式)

目录

一、参数设置

(一)VS Code

(二)Pycharm

二、环境变量设置


一、参数设置

(一)VS Code

举例说明:

 某程序在Bash shell中输入的运行命令与参数如下:

python 代码文件名.py \
data/数据img.JPEG \
configs/配置文件.py \
checkpoints/模型.pth

 对应的代码文件中参数说明如下:

使用命令行参数运行的 Python 程序如何在Pycharm、VS Code中调试(包括shell脚本运行方式)_第1张图片

1. 首先在 代码文件名.py 界面点击Open Configurations或Add Configurations:

使用命令行参数运行的 Python 程序如何在Pycharm、VS Code中调试(包括shell脚本运行方式)_第2张图片

2. 然后在lauch.json文件中添加参数至"args" 中:

使用命令行参数运行的 Python 程序如何在Pycharm、VS Code中调试(包括shell脚本运行方式)_第3张图片

(二)Pycharm

点击 Run--->Edit Configuration--->选择要使用命令行参数运行的程序,在 parameters 中输入所需的命令行参数即可。

https://blog.csdn.net/weixin_44457930/article/details/120572174

【注】:对于用bash shell运行的.sh命令,调试方法就是把shell脚本里传入python中的参数、环境变量解析出来,然后按这里的方法将这些参数、环境变量添加到shell脚本运行的python文件里或Pycharm运行配置里

二、环境变量设置

将需要用到的环境变量等利用os.environ添加到.py代码文件中。

举例:将以下的命令行利用export设置环境变量

export MASTER_ADDR=localhost
export MASTER_PORT=5678

改写为以下用os.environ设置环境变量

import os

os.environ['MASTER_ADDR'] = 'localhost'
os.environ['MASTER_PORT'] = '5678'

否则会报错:ValueError: Error initializing torch.distributed using env:// rendezvous: environment variable MASTER_ADDR(或其他) expected, but not set

https://blog.csdn.net/weixin_41529093/article/details/123704238

偶尔若报错:RuntimeError: The server socket has failed to listen on any local network address. The server socket has failed to bind to [DESKTOP-7FQDOK8]:6699 (system error: 10048 - Only one usage of each socket address (protocol/network address/port) is normally permitted.).解决方法见这里

你可能感兴趣的:(Python,pycharm,ide,python)