我如何仅导入PyPI程序包,而不从中导入任何内容?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了我如何仅导入PyPI程序包,而不从中导入任何内容?相关的知识,希望对你有一定的参考价值。
我创建了我的第一个PyPI软件包,但是有问题。我希望用户能够导入名为Chess-graph的程序包,然后立即运行它。
例如,用户可以输入import chess_graph
。然后,他们可以使用chart.graph(<link-to-file>)
直接运行该程序。
但是,当我尝试以这种方式运行程序包时,我无法这样做。相反,我必须输入import chess_graph
(在运行pip install chess-graph
之后),然后再输入from chess_graph import chart.
我有什么办法可以将图表与chess_graph一起导入?这是我的目录的样子:
/pypi_chess
/chess_graph
__init__.py
chart.py
game_parser.py
LICENSE
README.md
setup.py
我的猜测是,我可以将图表导入到__init__.py
文件中,但这不起作用。
我的__init__.py
文件看起来像这样:
from chess_graph import chart
print('test print')
[当我运行import chess_graph
时它会打印test print
,但是如果我尝试直接输入chart.graph(file)
,它会显示name: chart is not defined.
但是我知道它正在导入它,因为海图是一个大文件,并且需要几秒钟的时间才能导入chess_graph。
如何仅通过导入包来运行图表文件?
答案
使用这样的__init__.py
,您可以做:
import chess_graph
...
chess_graph.chart.graph(file)
以上是关于我如何仅导入PyPI程序包,而不从中导入任何内容?的主要内容,如果未能解决你的问题,请参考以下文章
如何在绝对导入中设置没有点符号的 Pypi 包 - python3