I am working on a fork of a python projet (tryton) which uses setuptools for packaging. I am trying to extend the server part of the project, and would like to be able to use the existing modules with my fork.

Those modules are distributed with setuptools packaging, and are requiring the base project for installation.

I need a way to make it so that my fork is considered an acceptable requirement for those modules.

EDIT : Here is what I used in my setup.py :

from setuptools import setup

setup(
    ...
    provides=["trytond (2.8.2)"],
    ...
)

The modules I want to be able to install have those requirements :

from setuptools import setup

setup(
    ...
    install_requires=["trytond>=2.8"]
    ...
)

As it is, with my package installed, trying to install a module triggers the installation of the trytond package.

有帮助吗?

解决方案

Don’t use provides, it comes from a packaging specification (a metadata PEP) that is not implemented by any tool. The requiremens in the install_requires argument map to the name in your other setup.py. IOW, replace your provides with setup(name='trytond', version='2.8.2').

其他提示

If you are building rpms, it is possible to use the setup.cfg as follows:

[bdist_rpm]
provides = your-package  =    0.8
obsoletes = your-package
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top