Project dependencies are not installed when usedevelop=False

Issue #197 on hold
Rinat Shigapov created an issue

I run tox without -r option. At he moment I have to manually install project dependencies when they are changed.

Steps I do to reproduce this:

  1. run tox to initialize test environment
  2. activate test environment
  3. remove a package my project depends on
  4. run tox again and see failed test due to unsatisfied dependency

When I set usedevelop=True the problem disappears.

Comments (14)

  1. Holger Krekel repo owner

    tox presumes it controls the virtual environments and that you don't do manual changes in between. How comes you work on the .tox/* virtualenvs yourself?

  2. Rinat Shigapov reporter

    I activate .tox/* test environment and manipulate it just to show a possible way to reproduce the issue. My actual problem is that tox doesn't update install_requires dependencies after I changed them in new project version. As I said usedevelop=True fixes it but I'd like to install my project from source distribution and not to use this mode.

  3. Holger Krekel repo owner

    yes, it's a known issue (although i can't find an issue number currently) that tox does not know what contains in terms of dependencies. We could maybe look into the sdist/package's requirements and see if that changed, however, not sure. There are some issues like issue #13 and issue #149 which are similar.

  4. Rinat Shigapov reporter

    Thank you for the links! Why does not tox run install_command for sdist'ed tarball? This way it could update dependencies when updates are available.

  5. Holger Krekel repo owner

    speed for the common case. after all, typing "-r" to force recreation is a bit annoying but not super bad IMHO :)

  6. Rinat Shigapov reporter

    In my case adding '-r' option makes the build 5-6 times longer - that's why I prefer not to set it. When environment is already prepared pip dependency checks are quite fast and introduce much smaller time overhead than full env recreation.

    I think it would be nice to make "--no-deps" option presence configurable.

  7. Rinat Shigapov reporter

    For now I just toggle usedevelop value in my config whenever I add new dependencies. This forces installation of them.

  8. Log in to comment