-
Notifications
You must be signed in to change notification settings - Fork 29
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
add pipenv to image #39
Comments
Great question. This image uses pyenv to obtain the Python version. In theory, this shouldn't interfere with Pipenv right? I'll do some testing and research and see if we can add this in before this image goes stable/GA, which is soon. |
Right - they’re supposed to work ok together, and I think newer pipenv may even work with pyenv. FWIW, just doing Happy to PR it but wasn’t sure exactly where that goes in the stuff that generates the Dockerfiles and whether to commit the results as well |
Hey there! I've been thinking about this problem myself. There are a few things we just need to make sure are clear and we discuss before making the change. I do believe its fair to assume that pipenv should be the default packaging tool available in the base image since pypa officially recommends pipenv. Should we hardcode a version of pipenv to install? Along with pipenv will come a few other packages - do their versions matter / will they update ok without issue?
|
FWIW, I think the regular Circle images are already getting the 2020 version of pipenv, for better or for worse:
so, to me, jumping backwards on the cimg ones wouldn't make a ton of sense? For our workflows, we've seen one or two issues, but the new version also fixes a bunch of stuff |
Definitely not proposing we go backward! Sorry for not being clear. I'm basically wondering if the change should be |
FWIW - if you want to make the change and feel comfortable making the change to the https://github.com/CircleCI-Public/cimg-python/blob/master/Dockerfile.template. The README should provide guidance on testing the change and submitting the PR. |
I do kind of wonder what the benefit of using pyenv in a container that's already using a single Python version is... unless it makes using the same Dockerfile for all the versions that much easier -- from a simplicity standpoint, might be easier / better to install at system level, and then there's less likely to be weird path issues. I am seeing binaries installed from pipenv missing from the pyenv path when I tried switching to this, but maybe I need to do some additional pyenv configuration in the pipenv config... |
Since
pipenv
is pre-installed on the old Python images, and (I believe) is still the documented way to handle image caching (https://circleci.com/docs/2.0/language-python/#cache-dependencies), would it make sense to bake it into this image as well? The example documented here also won't work (sudo pip install pipenv
), becausepip
isn't in root's path (#19 (comment))I tried switching from
circleci/python
tocimg/python
and noticed that it failed because of it not being installed. While it's a relatively simple step to install it, it would be convenient to have it there.The text was updated successfully, but these errors were encountered: