(理解和3种方法完全解决pycharm报错)main.py: error: the following arguments are required: -d/--dataset
文章目录
- 背景
- 理解
- 完全解决
- 方法1
- 方法2
- 方法3
背景
很多人只说解决方案,却不说原因,遂有此篇。
在pycharm中直接运行如下代码main.py
报错:
import argparse
if __name__ == '__main__':parser = argparse.ArgumentParser(description='REGCN')parser.add_argument("--gpu", type=int, default=-1,help="gpu")parser.add_argument("--batch-size", type=int, default=1,help="batch-size")parser.add_argument("-d", "--dataset", type=str, required=True,help="dataset to use")args = parser.parse_args()
main.py: error: the following arguments are required: -d/–dataset
理解
大家都知道,上面的参数定义方式最近很流行:
parser = argparse.ArgumentParser(description='REGCN')parser.add_argument("-d", "--dataset", type=str, required=True,help="dataset to use")
args = parser.parse_args()#让前面的所有add_argument生效,所以是在这里报错。
大家发现一个问题没有,上面的dataset参数有一个属性:
required=True
可以明白了,dataset参数代码中没有填写默认值,而且又required=True,也就是说这个参数必须要用户填写。但是我们直接运行代码,当然报错。所以我们需要填写这个参数。
完全解决
方法1
知道原因之后,你当然知道怎么解决了对吧。
比如我们最先想到的当然就是:修改代码,去掉required=True,并加上默认值。
parser = argparse.ArgumentParser(description='REGCN')parser.add_argument("-d", "--dataset", type=str, default="ICEWS18",help="dataset to use")
args = parser.parse_args()#让前面的所有add_argument生效,所以是在这里报错。
运行成功。
方法2
这个方法比较抽象一些,我们知道
if __name__ == '__main__':
是程序运行的入口,大家有没有想过,如果程序里面有一些参数需要用户填写,该怎么设计呢?
当然,最简单的是:input函数读入用户的输入对吧。
但是,大家肯定也见过另外一种方式(命令行
):
python main.py -d ICEWS18
这种方式可以被
args = parser.parse_args()
识别到,从而填写了dataset="ICEWS18"
。
所以方法已经说完了,那就是在pycharm中命令行
运行并指定参数是什么。
方法3
方法3的原理其实就是方法2。
利用pycharm的强大功能:
个人比较推荐方法1和方法3。
(理解和3种方法完全解决pycharm报错)main.py: error: the following arguments are required: -d/--dataset相关推荐
- 完美解决Pycharm报错[WinError 193] %1 不是有效的 Win32 应用程序
完美解决Pycharm报错[WinError 193] %1 不是有效的 Win32 应用程序 问题发生 长话短说,今天安装python64位时遇到了这个问题,我也看了网上很多说为什么会出现这个问题的 ...
- train.py: error: the following arguments are required: --config解决办法
train.py: error: the following arguments are required: --config解决办法 最近在跑github上的深度学习开源项目,在导入项目运行trai ...
- 解决vscode报错:command-line error: language modes specified are incompatible C/C++(1027)
解决vscode报错: 命令行错误: 指定的语言模式不兼容, c/c++:1027 (1)当设置为下面时, "C_Cpp.intelliSenseEngine": "De ...
- php数据库报错1046怎么解决,DZ报错MySQL Query Error Errno:1046错误的解决办法
这篇文章主要为大家详细介绍了DZ报错MySQL Query Error Errno:1046错误的解决办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴. DZ报 ...
- js前端处理过滤特殊字符以及输入法特殊表情符号emoji的正则方法,解决数据库报错问题。
现在,输入法基本上都支持表情输入和特殊字符,并且可以在input框内输入表情, 如果我们不对这些表情进行验证的话,我们会发现,有的时候也可以正常 进行保存,但是这样会存在一定的问题,比如当我们把我们的 ...
- sublime text3 安装插件方法,解决安装报错问题,wepy 框架文件 wpy 高亮插件:vue-syntax-highlight
好久没安装 sublime text3 插件了,发现安装报错,本次小程序支持 wpy 文件,公用 Vue 高亮规则,需要升级下:vue-syntax-highlight 插件,需要排查下错误.记录下排 ...
- 解决Nginx报错502之:[error] 17929#17929:57 rewrite or internal redirection cycle while internally redirect
一.报错问题: 当我们访问web页面时,有时会报错502网关问题,报错问题五花八门 常见报错如下: 查看nginx中的 access.log 发现,报错如下: 二.报错原因 原因:因为当我们在进行ng ...
- 记解决pycharm报错 Process finished with exit code -1073741819 (0xC0000005)
最近在做一个抢单项目: python项目莫名出现:Process finished with exit code -1073741819 (0xC0000005),程序没执行结束退出! . 网上找了好 ...
- 解决Django报错:SQLITE 3.8.3 OR LATER IS REQUIRED
django在linux服务器执行python3 manage.py migrate,会产生了如下的错误输出: django.core.exceptions.ImproperlyConfigured: ...
最新文章
- 在计算机桌面怎么找打印机,win10系统电脑打印机图标找回来的教程
- 【资源】《动手学数据分析》开源教程完整发布!
- 手机轮廓光怎么拍_想拍美秋天叶子,别犯这5个初级错误!告诉错在哪里及咋拍正确...
- php验证ip地址的函数,php使用preg_match()函数验证ip地址的方法
- js各种方法继承以及优缺点
- P5056-[模板]插头dp
- 网易邮箱大师如何定时发送 定时发送邮件方法步骤详解
- vue列表排序实现中的this问题
- [修复] Eclipse – Java编译器级别与已安装的Java项目构面的版本不匹配
- jQuery 集合 搜索操作(父辈元素搜索、同辈元素搜索、子元素搜索)
- 这个为生信学习打造的开源 Python 文字教程真香!!!
- 软件开发学什么编程语言好
- 贝叶斯网络分析kaggle泰坦尼克号数据
- java排序之选择排序
- latex 长表格中放入多行公式
- Activiti目录(五)驳回、重新发起、取消流程
- 网渲显示服务器错误,【渲染服务】渲染失败的几种原因
- Problem F - Football Free Kick(数组1e9的插入和删除)
- vue使用支付宝支付
- Linux网易云问题(高分屏)
热门文章
- 论坛报名 | AI赋能未来交通
- 海淀城市大脑建设单位“中海纪元”调研“智源研究院”
- 程序员是否必须会算法
- TensorFlow数据归一化
- 史上最全的ubuntu16.04安装nvidia驱动+cuda9.0+cuDnn7.0
- 最小二乘GAN:比常规GAN更稳定,比WGAN收敛更迅速
- 区块链相关论文研读1- 关于边缘计算
- 2020最大赢家!马斯克身家达1600亿美元,2张图拆解他的巨额财富
- 微软官方再次上线了Python教程,这次比较高级
- 豆瓣评分9.7,Github 9.9K Star的中文版《神经网络与深度学习》分享(附PDFPPT下载)...