On a blank system (e.g. a bare Debian/Alpine/etc. container) with pyenv installed and a Pipfile/pyproject.toml/.. containing a required version of Python I'd like to create a virtualenv, which is no problem if pipenv or python-pip are installed already.
But in order to have pipenv or poetry (or any other similar tool) available, a whole bunch of other packages has to be available in the first place (next to a version of Python I don't need anymore afterwards).
In order to have a slim development image I'm currently thinking of ways to have only the tools available pyenv needs to create the version of Python referenced in my Pipfile/pyproject.toml, which I could then use to actually create an virtualenv from.
The easiest way would be to have pyenv itself bootstrap this process, but it can't - can it?
Manual approaches I can think of would either delete the prior installation of Python, or create a multi stage Dockerfile which uses the first stage to provide all packages pyenv needs, a second stage which installs a stock Python package together with all packages needed to build the required Python build chain based on a pyenv-generated Python. But that sounds complicated.
So since I guess I'm not the first one to be in this situation: Is there a recommended way to create a virtualenv from scratch, with implicit installation of the required version of Python without having to have Python + pipenv available in the first place?
from Is it possible to create a virtualenv without a distribution based Python package installed?
No comments:
Post a Comment