python调用自己的包(ModuleNotFoundError: No module named ‘chemprop.parsing‘)

一、出现问题

1. pycharm运行源码,已经pip install安装过chemprop包的前提下报错:

ModuleNotFoundError: No module named 'chemprop.parsing'

在这里插入图片描述

二、问题原因

1. 'chemprop.parsing’是调用的另外一个自己的包,下载的源码中没有此包,但是根据github中的README文件找到了对应文件,然后进行调用此包中定义的类和函数
在这里插入图片描述

2. 涉及知识点为:python调用自己的包文件

三、问题解决

1. 解决过程:

from chemprop.parsing import parse_train_args, modify_train_args

(1) 包的层级结构如下:

在这里插入图片描述
(2) 在main.py的同级目录下新建名为'chemprop'的文件夹,再在此文件夹中放入__init__.py文件parsing.py文件,如下图显示:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

四、如何调用包

1. 层级结构为

pack/
    __init__.py
    sub1/
        __init__.py
        module_11.py
        module_12.py
    sub2/
        __init__.py
        module_21.py
        module_22.py

2. 假设sub2文件夹中的module_21.py代码中需要引用sub1文件夹中的模块module_11.py代码的class A , func B,则引用语法为:

from sub1.module_11 import Class A , func B

3. 举例:(使用上文中报错的实例代码层级结构),要实现:

from chemprop.parsing import parse_train_args, modify_train_args

在这里插入图片描述
4. 涉及语法:

from + 完整包名 + .模块名 + import + 定义名

5. 其中的__init__.py是为了展示其作为包引入的一个效果,可以为空

五、参考链接

link1
link2
link3
link4

  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值