我正在学习如何使用official guide打包python库。我已经开始克隆指南here中建议的最小样本包。然后,我在文件夹sampleproject中添加了文件my_module.py,存储了一个简单的电源功能。另一个功能也存储在/sampleproject/sampleproject/__init__.py
中。结果库的结构如下
最后,我已经使用pip在解释器中成功安装了包。唯一剩下的就是确保我能够运行存储在子文件夹示例项目中的函数。
import sampleproject
sampleproject.main()
# Output
"Call your main application code here"
这很棒。该包能够在__init__.py
中运行该功能。但是,包无法找到module.py:
import sampleproject
sampleproject.module
# Output
AttributeError: module 'sampleproject' has no attribute 'module'
我已尝试在主文件夹中添加__init__.py
并更改setup.py中entry_points中的设置但未成功。我应该让sampleproject能够在module.py中找到该函数吗?
答案 0 :(得分:1)
您的sampleproject.module
是您要执行的功能吗?
在这种情况下,执行sampleproject,add()执行它:
sampleproject.module()
否则,您可以像这样导入您的包:
import sampleproject.module
或:
from sampleproject import module
为了更清楚,您必须在示例项目import module
中__init__.py
。然后,当你想要使用它时,导入它(在root上是一些py文件):
import sampleproject # is enough as it's going to import everything you stated in __init__.py
之后,如果您的软件包中有一个名为module的函数,您可以开始使用导入的软件包中的内容module()
。
答案 1 :(得分:0)
似乎,
您在sampleproject-> module.py
所以你需要尝试,
from sampleproject import module