-
-
Notifications
You must be signed in to change notification settings - Fork 509
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
skipsdist and usedevelop don't play well together #270
Comments
Original comment by mrmachine Indeed, I also just tried |
Original comment by @aconrad The
and when I run
What am I missing? |
Original comment by @aconrad Actually, I just noticed that there was a |
@aconrad can we close this as resolved then? |
I confirm that
By commenting out Can someone change the title to mention "usedevelop" as well? |
Hi @ferdonline
What do you expect should happen, when you use both of them together? Can you post your tox.ini to reproduce and explain what the motivation behind using them together is? I would expect that each option individually does what it should and used together ideally throws an error. IMO those two options should be mutually exclusive. It makes no sense to me to instruct tox to skip the installation and at the same time install the package in development mode. I created a minimal project with a simple setup.py and a tox.ini which runs the three scanarios:
output was:
So I don't get your error, but I also do not get an error that informs me that usedevelop and skip_install are mutually exclusive. instead it installs the package in development mode. As I understand the problem the actual bug in the way those two options behave together is one of documentation and handling.
It is in the title already - or what do you mean? |
Hi thanks for your reply.
As you say, the options seem exclusive, but due to "inheritance" we end up with a configuration that produces a strange effect - installing in develop when we instructed not to install at all. And typically rules defined in a tighter scope should have precedence. Due to complex deps, the package installation, which was not intended, fails.
I meant skip_install, sorry I looked into the source and can be easily fixed. I'm running the tests. I can make a PR later. |
hmm that should not make any difference (I mean I still don't understand why you get an error and I would suspect that this error has nothing to two with this issue). The inheritance is the same as if you were putting them together in the env. This tox.ini is the same like the one I posted above and yields the same result as above when I run it:
Regarding the PR: how would you want to fix it? The easiest fix would be to update the docs explaining that using them together makes no sens and if they are used together usedevelop wins over skip_install. Everything else would need further discussion, I think. |
I think that's the point that needs reaching an agreement. Considering that (directly or indirectly - like in my config) one arrives to have both
in one environment. To my mind it seems much more reasonable to honour skip_install, because it doesn't really disrespect usedevelop. I see it clear that usedevelop is an install mode, so if there's nothing to install it's still honoured. |
That makes a lot of sense to me. So we should change that behaviour I guess. I opened an issue for that as this is not quite the same as this issue: #571 |
Alright, cool! But for the sake of having it right, concerning only skipdist, the code currently does this
|
If you don't build an sdist and don't want to install in developmen mode, there is nothing you could install, so nothing should be installed. I would say this is also correct. |
I would have guessed it would install with "setup.py install" |
I would have thought that I think this combination was useful before we had skip_install, as this basically doubles for that. But as we have skip_install now, it might actually be a good idea to do a normal install like you said instead ... and then document what happens when, maybe even using your nice table :) |
I think this now has been fixed in tox 4. |
I'm trying to do
usedevelop
andskipsdist
at the same time but it feels that they are mutually exclusive with tox.I have 2 tasks,
py34
andpep8
. When I run py34 I want to useusedevelop=true
but when I runpep8
I don't want my project to be installed at all and useskipsdist=true
.Please correct me if I'm wrong: skipsdist is only a global setting recognized under the section
[tox]
which would then skip the sdist step for all[testenv]
sections which in turns would ignore anyusedevelop=true
flag since it's tox will not even try to install the testenv in the first place.Can we have
skipsdist
be recognized under a[testenv]
?The text was updated successfully, but these errors were encountered: