setup.py:没有名为*的模块

时间:2017-10-30 08:19:29

标签: python python-2.7 pip setup.py python-packaging

我正在尝试开发一个新的Python模块。这就是我的目录结构的样子:

.
├── cmd_dispatcher.py
├── commands
│   ├── __init__.py
│   └── validate.py
├── hello.py
├── README.md
├── setup.py
└── utils
    └── __init__.py

这是setup.py

from setuptools import setup

setup(
    name='abc',
    version='1.0',
    install_requires=[
        'Click',
    ],
    entry_points='''
        [console_scripts]
        tdrivecli=cmd_dispatcher:mycli
    ''',
)

cmd_dispatcher.py的代码为from commands.validate import validate_something

使用pip install --editable .安装此软件包时 然后运行$ mycli

  File "cmd_dispatcher.py", line 3, in <module>
    from commands.validate import validate_cst
ImportError: No module named validate

我错过了什么?

1 个答案:

答案 0 :(得分:0)

commands是Python 2.7(https://docs.python.org/2/library/commands.html)中的一个模块,因此您的包可能会与它发生冲突。确保您没有在cmd_dispatcher中启用绝对导入,它确实可以找到您的包。