python setuptools создает несколько файлов - PullRequest
0 голосов
/ 27 сентября 2018

я пытаюсь скомпилировать несколько файлов и выводить их в виде одного модуля.

проект:

ModuleA
|
+--file1.py
|
+--file2.py
|
+--setup.py

setup.py

from setuptools import setup

setup(
    name='example',
    version='1.0',
    url='',
    license='MIT',
    author='Francisco',
    author_email='',
    description='',
    package_dir={'ModuleA':'./*'},
    py_modules=['file1','file2'],
    zip_safe=False,
    include_package_data=True,
    platforms='any',
)

мне нужен вывод python setup.py install

site-packages
|
+--ModuleA
   |
   +--file1.py
   +--file2.py

1 Ответ

0 голосов
/ 28 сентября 2018

ModuleA технически является упаковкой .Я предлагаю вам использовать утилиту find_packages из setuptools:

from setuptools import setup, find_packages

setup(
    name='example',
    version='1.0',
    url='',
    license='MIT',
    author='Francisco',
    author_email='',
    description='',
    packages=find_packages(),
    zip_safe=False,
    include_package_data=True,
    platforms='any',
)

Структура каталогов:

$ tree
.
...
├── ModuleA
│   ├── file1.py
│   ├── file2.py
│   └── __init__.py
└── setup.py

Теперь сборка пакета:

$ python setup.py bdist_wheel
....
$ unzip -l dist/example-1.0-py2-none-any.whl 
Archive:  dist/example-1.0-py2-none-any.whl
  Length      Date    Time    Name
---------  ---------- -----   ----
        0  2018-09-27 21:53   ModuleA/file2.py
        0  2018-09-27 21:53   ModuleA/file1.py
        0  2018-09-27 21:53   ModuleA/__init__.py
       10  2018-09-27 21:53   example-1.0.dist-info/DESCRIPTION.rst
      305  2018-09-27 21:53   example-1.0.dist-info/metadata.json
        8  2018-09-27 21:53   example-1.0.dist-info/top_level.txt
       92  2018-09-27 21:53   example-1.0.dist-info/WHEEL
      163  2018-09-27 21:53   example-1.0.dist-info/METADATA
      693  2018-09-27 21:53   example-1.0.dist-info/RECORD
---------                     -------
     1271                     9 files
...