Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can't install testtools because of circular dependency on fixtures. #62

Closed
radix opened this issue Apr 21, 2018 · 6 comments
Closed

can't install testtools because of circular dependency on fixtures. #62

radix opened this issue Apr 21, 2018 · 6 comments

Comments

@radix
Copy link
Contributor

radix commented Apr 21, 2018

I realize it seems like this was an intentional decision to not support circular dependencies, but testtools apparently has a circular dependency on fixtures. It seems they refuse to break this dependency, but it is apparently not a runtime dependency -- one of them is build-time. testing-cabal/testtools#236

I'm not sure if there's a way to resolve this -- does testtools or fixtures need more metadata specified with their dependencies? can poetry just allow circular dependencies?

@radix radix changed the title can't install testtools can't install testtools because of circular dependency on fixtures. Apr 21, 2018
@sdispater
Copy link
Member

poetry was designed so that circular dependencies would lead to an error. Circular dependencies are bad by definition, even though in this case the resolver could find a solution.

And both are runtime dependencies:

  • For testtools: Requires-Dist: fixtures (>=1.3.0)
  • For fixture: Requires-Dist: testtools (>=0.9.22)

That was never a problem for them before because pip doesn't come with a dependency resolver and thus would install everything without picking up the circular dependency.

So, for now, handling this case would require to change the implementation of the resolver and this is not something I want to tackle as of yet since there is more pressing matters.

However, I might come back to it at some point.

@radix
Copy link
Contributor Author

radix commented Apr 23, 2018

I see, indeed I misread the ticket and now see that it's a runtime dependency and not a build-time dependency. 😢

@sdispater
Copy link
Member

@radix Just so you know I am currently rewriting the resolver from scratch and circular dependencies, as long as they are compatible, will be supported.

@sdispater
Copy link
Member

@radix A new prerelease (0.10.0a0) has been published. It contains the new dependency resolver which fixes this issue. So you can give it a try if you want :-)

@sdispater
Copy link
Member

Release 0.10.0 is out and should fix this issue.

Copy link

github-actions bot commented Mar 3, 2024

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Mar 3, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants