#This may be what I am not clear on. The
1 messages · Page 1 of 1 (latest)
if you have a very simple project then perhaps nothing but if you have a moderate amount of dependencies it's very possible that your runtime transitive dependencies will end up conflicting with those for development, testing, docs, etc. and pain will be experienced
at that point you have no choice but to separate them
Isn't it bad if your development dependencies are different than what you end up running? Or am I misunderstanding?
Thank you for taking the time 🙏 As you've given me a solution, I am purely asking this out of curiosity
the issue is there is a distinction between runtime dependencies and everything else
runtime dependencies is what your users will end up installing in their environment (if you're working on a library) or what you end up installing in your environment (if working on an application)
under no circumstance should something used for documentation only be required by the target environment
here's an example of somebody talking about this recently https://github.com/scientific-python/specs/pull/324#discussion_r1628584310
AH I just had a light bulb moment. I get it now. If I install some dev tool that limits the specific version of a dependency in development, and end up with another version of it in a deployed environment since I do not install. / depend on that dev tool, then issues may potentially arise.
I have certainly seen this before, and my solution was to always build a deployed environment from a completely locked list of dependencies (output of pip freeze)