Я пытаюсь упаковать приложение, написанное на Python, и использую setuptools с find_packages для этого. Если я бегу python setup.py develop
(или install
) я получаю ImportError:Python & setuptools - «Нет модуля с именем ...»
Traceback (most recent call last):
File "c:\Python34\Scripts\jiragen-script.py", line 9, in <module>
load_entry_point('jiragen==1.0', 'console_scripts', 'jiragen')()
File "x:\jira\jiragen\jiragen\main.py", line 8, in main
import jira_parser, worklogs, exporter
ImportError: No module named 'jira_parser'
jira_parser.py, worklogs.py и exporter.py все существуют в том же каталоге, main.py. Вот мой setup.py:
from setuptools import setup, find_packages
setup(
name='jiragen',
version='1.0',
packages = find_packages(),
py_modules = [
'jiragen.main',
'jiragen.jira_parser'
],
install_requires=[
'PyYAML',
'XlsxWriter',
'jsonpickle',
'requests'
],
entry_points={
'console_scripts': [
'jiragen = jiragen.main:main'
]
}
)
Обратите внимание, что я добавил в явной форме элементов в py_modules, чтобы увидеть, что если бы никакой разницы - но питон все еще жалуется, что не может найти jira_parser. Точно такая же ошибка только с find_packages
и без py_modules
. Я также попытался добавить пакеты в явном виде.
Моя структура каталогов выглядит следующим образом:
jiragen
|--setup.py
|--jiragen/
|--|--__init__.py
|--|--__main__.py
|--|--main.py
|--|--jira_parser.py
|--|--worklogs.py
|--|--exporter.py
|--|--excel/
|--|--|--__init__.py
|--|--|--(other .py files..)
Что я здесь отсутствует?
EDIT
решаемая - Необходимо, чтобы изменить цель в 'console_scripts'
от jiragen.main:main
просто jiragen:main
и добавьте строку package_dir = {'': 'jiragen'}