我有一个我一直在开发的包,为了让我的脚本在安装PyPI/pip之后和在本地运行它之后都能工作,我在正确地组织它时遇到了问题.
我主要有两个文件,例如my-package.py
和utils.py
我希望是可导入的,其中一个引用了另一个.我想要的文件组织是:
LICENSE
pyproject.toml
README.md
my-package/
__init__.py
my-package.py
utils.py
tests/
我希望能够pip install my-package
,然后将此包导入新脚本中,如下所示:
from my-package import my-function
(或者,如果我不得不,from my-package.my-package import my-function
),还有from my-package.utils import util-function
但是我也从我的-Package.py中的utils.py导入了一个util函数,到目前为止,我只能让它对pip或local起作用,但不能同时对两者都起作用.
这个可以用after pip installing,from my-package.my-package import my-function
,也可以用from my-package.utils import util-function
.但是,当我在本地try 运行python my-package.py
时,我得到错误:ModuleNotFoundError: No module named 'my-package.utils'; 'my-package' is not a package
.
我try 了一些from .my-package
或from .utils
版本的版本,但它们也有相对的导入错误.
我在这里可能要求太多了,但希望有一些相对轻松的指导可以遵循Re:组织+导入,这将使这种方法既适用于PIP后导入,也适用于本地运行脚本?
谢谢你所有的帮助!