问题描述
我正在尝试创建一个看起来像这样的目录的 python 包。
我的setup.py
看起来像这样
from setuptools import setup,find_packages
setup(
name='incr-consumer',version='0.0.1',description="BBB",packages=find_packages(),package_data={x: ['*.csv','*.json','*.txt','*.sql','*.yml','*.cfg'] for x in find_packages()},include_package_data=True,install_requires=[line for line in open('requirements.txt')],options={"bdist_wheel": {"universal": True}},entry_points={
'console_scripts': [
'archiver=incr_consumer.src.kkk:main','produce=incr_consumer.util.ppp:main'
]
}
)
我已通过 python install -e .
成功安装了该软件包
当我尝试查看包是否有效时,我没有看到可用的模块。
[注意:我在 src 中有一个 __init__.py
。请让我知道为什么会发生这种情况,我能做些什么来解决这个问题。
解决方法
您可能还需要在 __init__.py
中有一个 incr_consumer
才能将其标记为包。
如果您在安装脚本中执行 print(find_packages())
,则当前可能没有正确枚举所有包。
您可以指定 package_dir={'incr_consumer': 'src'}
(另请参阅 here),然后指定与 src
目录相关的所有其他内容(包括控制台脚本)。