Как включить каталоги локальных зависимостей в setup.py - PullRequest
1 голос
/ 01 февраля 2020

Как включить локальные зависимости в setup.py, чтобы pip install их нашел? Я посмотрел на это , и это решение не работает ...

У меня есть такая структура:

mypackage
├── mypackage
│   └── __init__.py
├── README.md
├── setup.py
└── subpackages
    └── subpackageA
        ├── setup.py
        └── subpackageA
            └── __init__.py

mypackage / setup.py:

import os
from setuptools import setup, find_packages
subpackage_dir = ''.join(['file://', os.path.join(os.getcwd(), 'subpackages','subpackageA#egg=subpackageA-0.1.0')])
setup(
    author="",
    author_email='',
    classifiers=[],
    description="",
    install_requires=['subpackageA==0.1.0'],
    long_description='None',
    include_package_data=True,
    keywords='mypackage',
    name='mypackage',
    packages=find_packages(),
    setup_requires=[],
    test_suite='tests',
    tests_require=[],
    version='0.0.1',
    zip_safe=False,
    dependency_links=[subpackage_dir],
)

mypackage / subpackages / subpackageA / setup.py:

from setuptools import setup, find_packages
setup(
    author="",
    author_email='',
    classifiers=[
    ],
    description="Toolkit",
    install_requires=[],
    long_description='None',
    include_package_data=True,
    keywords='subpackageA',
    name='subpackageA',
    packages=find_packages(),
    setup_requires=[],
    test_suite='tests',
    tests_require=[],
    version='0.0.1',
    zip_safe=False,
    dependency_links=[],
)

Субпакет установлен самостоятельно. Т.е. они оба работают:

  • pip install -e subpackages/subpackageA
  • pip install --find-links=file://`pwd`/subpackages/subpackageA#egg=subpackageA-0.1.0 subpackageA==0.1.0

Но когда я устанавливаю родительский пакет, он не использует ссылка и не устанавливается.

  • pip install -e .

Как вы используете setup.py для установки зависимостей из файла?

...