Re: devel/py-pyparsing and devel/py-packaging have circular dependency
Date: Sat, 04 Dec 2021 13:19:23 UTC
Am 04.12.21 um 10:51 schrieb Alexey Dokuchaev: > On Sat, Dec 04, 2021 at 05:45:55PM +0800, Po-Chuan Hsieh wrote: >> The python dependencies are all correct. >> py-pyparsing DOES NOT REQUIRE py-packaging. True, but apparently only when building in a clean jail. > I concur; just built and packaged those ports successfully in my tinderbox > against Python versions 3.8 and 3.9. Yes, it works when building with poudriere, but no, it does not work with a plain "make" on a system with other Python ports already installed. In order to observe the issue, I had to delete the two packages with "pkg delete -f". They cannot be re-installed from a port using a plain "make" on the base system, thereafter. I do not know how such a dependency can be injected into the python port build, but just invoking setup.py in the work directories of these two ports will cause the error messages reported before: >> devel/py-packaging: >> pkg_resources.DistributionNotFound: The 'pyparsing!=3.0.5,>=2.0.2' distribution was not found and is required by packaging >> devel/py-pyparsing: >> pkg_resources.DistributionNotFound: The 'packaging>=20.0' distribution was not found and is required by the application I have looked for references to packaging in my python site-packages directory, but I do not know and did not check if any of those might inject a dependency on py-packaging when building some other port: /usr/local/lib/python3.8/site-packages/pip/_vendor/pkg_resources/__init__.py: from pip._vendor import packaging /usr/local/lib/python3.8/site-packages/sipbuild/project.py: import packaging /usr/local/lib/python3.8/site-packages/pkg_resources/__init__.py: from pkg_resources.extern import packaging /usr/local/lib/python3.8/site-packages/build/env.py: import packaging.requirements /usr/local/lib/python3.8/site-packages/build/env.py: import packaging.version /usr/local/lib/python3.8/site-packages/build/__init__.py: import packaging.requirements /usr/local/lib/python3.8/site-packages/setuptools/command/egg_info.py: from setuptools.extern import packaging /usr/local/lib/python3.8/site-packages/setuptools/dist.py: from setuptools.extern import packaging Regards, STefan