Closed Boogie3D closed 5 years ago
We're unrestricted in what we use for development so I say go for it. Maybe create a branch off master
, set it up and test, then a pull request for a couple of us to test it.
I agree let's push for the poetry since at this stage it early enough to change the tool that we are using.
I just did a quick Google and it looks like poetry
also has "issues" with virtual environments (e.g. pyenv
). @Boogie3D Check it out carefully and don't go down a rabbit hole if it looks sketchy (i.e. no better than what we have now).
See https://github.com/sdispater/poetry/issues/305#issuecomment-407463426
...which actually looks rational to me.
@mcpherson I installed Poetry using my system's Python 3.7 and managed to get a Python 3.6.8 virtual environment working using Poetry with Pyenv. I had to change one thing related to Pyenv (which is documented in doc/poetry.md
) but it seems to work just fine.
Pipenv has limited functionalities, such as a lack of actually packaging capabilities and for doing relational comparisons of required Python versions other than checking equality (i.e.,
pipenv check
fails if someone is using Python 3.7).Since we can test different Python versions with CI, requiring any and all contributors to use Python 3.6.8 is unnecessarily restrictive and can hamper development progress in the future. I propose that we replace our Pipenv dependency management system with Poetry--an alternative that uses the more flexible and standardized
pyproject.toml
configuration file to replace bothPipfile
andsetup.py
.Like Pipenv,
poetry
can create a virtual environment based off the system Python install or that specified by.python-version
(used by Pyenv). It supports many of the same commands as Pipenv (and more) and seems likely to be a more successful project in the long-run (some Pipenv developers' attitudes are reminiscent of the ill-fated Antergos and aurman projects).If we decide to go this route, I can spend the time to modify the repo and to get everyone's environments set up again without Pipenv.