我已根据setup.py
为我的包创建了setuptools
。它工作得非常好,直到我添加了一个子模块,该子模块实际上是一个内部带有__init__.py
的子目录。现在安装正常完成,但是当我尝试导入包时,我得到了
ImportError: No module named genalgs
我的包的结构如下:
topdir/
-> setup.py
-> packg/
---> __init__.py
---> submodule.py (which imports genalgs)
---> opthermod.py
---> genalgs/
-----> __init__.py
-----> subsubmod.py
-----> othersub.py
我检查了目录build/lib.linux-x86_64-2.7/packg/
,除genalgs/
目录外,其他所有内容都在那里,所以我猜这是错误。
我使用的setup
电话是
setup(name='pckg',
version='0.1.0',
description='something',
long_description=open('README.md').read(),
url='https://github.com/som/som.git',
author='My name',
author_email='mymail@mail.com',
license='GNU GPL V3.0',
packages=['pckg'],
install_requires=depencies)
答案 0 :(得分:0)
您需要让packages
调用setup()
参数更加聪明,告诉您所有要包含的软件包:
from setuptools import setup, find_packages
setup(...
packages=find_packages(),
...)