Open chaddupuis opened 1 year ago
Yes, this is an existing limitation, but not intentional. I prefer the second option as it doesn't require messing with configparser exceptions, and prevents messy files with the same package appearing in different areas of the file. The only problem is how this will look when there are environment markers:
numpy = ==1.19.3;python_version > '3.10' and os_name == 'Linux' && 1.17.3
This begs the question whether to support markers for all selected versions, or for specific versions. Ideally the latter.
Let me know what you think, in any case I'll be happy to accept a PR.
Unless I'm missing something I don't see an obvious way of pulling down multiple versions of a single package. For example, opencv-python requires a certain version of numpy for python 3.8 and another for 3.9 and since morgan pulls the latest of all dependencies the install breaks.
Using: numpy = ==1.17.3;python_version < '3.9'
works, but I can't say x for python 39 and y for python > 310.
What would be great is to allow either
(a) another line that says (requires at the least a change to the configparser/duplicateoptionerror): numpy = ==1.19.3;python_version < '3.10'
or (b) (arguably better/simpler) be able to say numpy = ==1.17.3 && ==1.19.3 && >=1.20.0 which will pull down all three versions
Have you considered allowing this? or is it already possible? I'd be happy to try to work on it, if you have an idea of the best way to approach allowing multiple versions.