Replies: 1 comment 2 replies
-
|
The plugin route is supported, just under documented 👍 |
Beta Was this translation helpful? Give feedback.
2 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
I'm using Tox to test a package let's call
A(for clarity), which has an optional dependency on packageB, which in turn depends onA. One of my Tox environments installsAusing an extra that also pulls inB. Whilepip install A[extra]works just fine, aspipknows how to deal with the cyclic dependency, Tox's 2-step method of first installingA's dependencies and then using a secondpipcommand forAitself doesn't always work. In particular, the following can happen:install_package_depsstage, Tox usespipto installB, andpipstarts searching PyPI for a compatible version ofAto install (as it doesn't know that Tox will separately installAlater).AI'm developing have changed, there may be no compatible versions on PyPI already, so the installation fails.I'm currently working around this issue by using a Tox plugin to add an additional installation stage which installs
A(with the--no-depsoption) before theinstall_package_depsstage, so that during that stagepip's resolver will know the newer version ofAis available:Plugin code
This approach is fragile (I'm using some undocumented Tox APIs), and still has the issue that
AandBare installed in separatepipcommands, so dependency conflicts could be missed.My questions are:
pipcommand to install both the built package and its dependencies? That would solve the cyclic dependency problem.Thanks in advance!
Beta Was this translation helpful? Give feedback.
All reactions