打包 python 库时出现 AttributeError
AttributeError when packaging python library
我正在学习如何使用 official guide. I've started cloning the minimal sample package suggested in the guide here 打包 python 库。然后,我在存储简单幂函数的文件夹 sampleproject 中添加了文件 my_module.py。另一个函数也存储在/sampleproject/sampleproject/__init__.py
中。生成的库结构如下
最后,我使用 pip 在解释器中成功安装了包。唯一剩下的就是确保我能够 运行 存储在子文件夹 sampleproject 中的函数。
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 中找到函数?
看来,
你在sampleproject->module.py
所以你需要试试,
from sampleproject import module
您的 sampleproject.module
是您想执行的函数吗?
本例和sampleproject一样,添加()执行:
sampleproject.module()
否则,您可以像这样导入您的包:
import sampleproject.module
或:
from sampleproject import module
为了更清楚,您必须在示例项目 __init__.py
中 import module
。然后,当你想使用这个包时,导入它(在根目录下是一些 py 文件):
import sampleproject # is enough as it's going to import everything you stated in __init__.py
在那之后,如果你的包中有一个名为模块的函数,你就可以开始使用你导入的包中的内容了module()
。
init.py discussions
我正在学习如何使用 official guide. I've started cloning the minimal sample package suggested in the guide here 打包 python 库。然后,我在存储简单幂函数的文件夹 sampleproject 中添加了文件 my_module.py。另一个函数也存储在/sampleproject/sampleproject/__init__.py
中。生成的库结构如下
最后,我使用 pip 在解释器中成功安装了包。唯一剩下的就是确保我能够 运行 存储在子文件夹 sampleproject 中的函数。
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 中找到函数?
看来,
你在sampleproject->module.py
所以你需要试试,
from sampleproject import module
您的 sampleproject.module
是您想执行的函数吗?
本例和sampleproject一样,添加()执行:
sampleproject.module()
否则,您可以像这样导入您的包:
import sampleproject.module
或:
from sampleproject import module
为了更清楚,您必须在示例项目 __init__.py
中 import module
。然后,当你想使用这个包时,导入它(在根目录下是一些 py 文件):
import sampleproject # is enough as it's going to import everything you stated in __init__.py
在那之后,如果你的包中有一个名为模块的函数,你就可以开始使用你导入的包中的内容了module()
。
init.py discussions