2017-10-30 4 views
0

Ich versuche, ein neues Python-Modul zu entwickeln. Das ist das, wie meine Verzeichnisstruktur wie folgt aussieht:setup.py: Kein Modul namens *

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

Dies ist setup.py:

from setuptools import setup 

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

Der cmd_dispatcher.py Code hat die from commands.validate import validate_something tut

Wenn ich dieses Paket installieren pip install --editable . mit und führen $ mycli Ich bekomme

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

Was fehlt mir?

+0

Konnte versuchen, cmd_dispatcher.py und commands/in src/mit einer __init__.py zu verschieben, um Ihren Code zu einem einzigen Paket zu machen –

Antwort

0

commands ist ein Modul in Python 2.7 (https://docs.python.org/2/library/commands.html), damit Ihr Paket damit kollidieren kann. Stellen Sie sicher, dass in Ihrem cmd_dispatcher kein absoluter Import aktiviert ist und Ihr Paket wirklich gefunden werden kann.