python - 带有 setuptools 模块的 Python 包没有属性
问题描述
我正在关注这个关于 python 包装的 pycon 视频。
我有一个目录:
mypackage/
__init__.py
mypackage.py
readme.md
setup.py
的内容mypackage.py
:
class MyPackage():
'''
My Damn Package
'''
def spam(self):
return "eggs"
的内容setup.py
:
import setuptools
setuptools.setup(
name='mypackage',
version='0.0.1',
description='My first package',
packages=setuptools.find_packages()
)
现在我创建一个虚拟环境并安装包:
pip install -e .
现在我这样做:
python
>>> import mypackage
>>> mypackage.MyPackage().spam()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'mypackage' has no attribute 'MyPackage'
为什么这不能按照这个人的教程工作?
解决方案
当你这样做时,import mypackage
你只导入mypackage/__init__.py
. 为了得到MyPackage
你需要mypackage/mypackage.py
:
from mypackage import mypackage
推荐阅读
- typescript - 离子原生 HTTP 返回未定义
- python-3.x - 找到结果后如何告诉python继续评估
- regex - 如何将变量插入到正则表达式 .match() 断言中?
- android - 安装和启动应用程序时会启动不同的 Activity,为什么?
- c - 如何将 dma_alloc_attr() 与 DMA_ATTR_NO_KERNEL_MAPPING 一起使用?
- python - 哎呀帮助!缺少要求:自我
- mysql - 通过 MYSQL 存储过程处理多行
- php - PHP - 内置函数,用另一个数组中的特定元素填充数组
- javascript - 在反应中为 Web 应用程序生成站点地图的问题
- python - 我可以在 tkraise() 函数中传递哪些参数?