rob*_*ntw 5 python python-module package
我有一个非常简单的包,我最终想通过PyPI发布,它有一个如下所示的目录树:
daterangeparser/
__init__.py
parse_date_range.py
test.py
Run Code Online (Sandbox Code Playgroud)
parse_date_range.py定义一个名为的函数parse.
对于我来说,设置软件包以便于导入parse函数的最简单,最pythonic的方法是什么,我该怎么办?
目前我必须这样做from daterangeparser.parse_date_range import parse,这似乎相当笨重.我宁愿做from daterangeparser import parse,这似乎更简单,更pythonic,但我似乎无法弄清楚如何使这个工作(我需要把其他东西__init__.py?或者,有没有更好的方法来做到这一点?
你可以简单地添加:
from .parse_date_range import parse
Run Code Online (Sandbox Code Playgroud)
进入__init__.py允许这种用法.这是最好的方式.
如果您需要,也可以使用绝对导入:
from daterangeparser.parse_date_range import parse
Run Code Online (Sandbox Code Playgroud)
这些选项中的任何一个都将parse()函数放入daterangeparser命名空间,这就是您想要的.
你真的需要parse_date_range模块吗?包名daterangeparser已经传达了意图,daterangeparser.parse_date_range没有任何意义。
您可以将所有代码从parse_date_range模块移至__init__,然后您可以parse像from daterangeparser import parse.
| 归档时间: |
|
| 查看次数: |
174 次 |
| 最近记录: |