我正在跟这个有关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'
为什么这家伙的教程不起作用?
答案 0 :(得分:0)
执行import mypackage
时,您仅导入mypackage/__init__.py
。要进入MyPackage
,您需要mypackage/mypackage.py
:
from mypackage import mypackage
答案 1 :(得分:0)
您可以将from .mypackage import *
放在init.py
文件中。