Skip to content

python: bug fix when version = none - #14

Merged
Samruddhi Khandale (samruddhikhandale) merged 4 commits into
mainfrom
samruddhikhandale/python-bug-fix
May 16, 2022
Merged

python: bug fix when version = none#14
Samruddhi Khandale (samruddhikhandale) merged 4 commits into
mainfrom
samruddhikhandale/python-bug-fix

Conversation

@samruddhikhandale

Copy link
Copy Markdown
Member

When python feature is called with version:none then following error occurs while building the image

image

@joshspicer

Copy link
Copy Markdown
Member

Why would we want to pass none to the python feature? Would that mean we are telling the python feature to install no version of python?

@samruddhikhandale

Copy link
Copy Markdown
Member Author

Even it's not super clear to me as in why we would like to use none. But that's how the dockerfiles used to call the python script (eg - https://github.com/devcontainers/images/blob/samruddhikhandale/init/src/python/Dockerfile#L27)

Maybe to take advantage of other steps 😕

@samruddhikhandale

Copy link
Copy Markdown
Member Author

Also, there are many other images which calls different features with none devcontainers/images@fc6cf83

@samruddhikhandale

Copy link
Copy Markdown
Member Author

Would that mean we are telling the python feature to install no version of python?

Yeah, it doesn't install any version

@joshspicer

joshspicer commented May 13, 2022

Copy link
Copy Markdown
Member

Also, there are many other images which calls different features with none devcontainers/images@fc6cf83

I imagine this was because we were preferring the oryx-provided versions? I don't see why we'd ever want to pass none to a feature, so i'd prefer we not add that in unless we see a good reason for it 🤔

@samruddhikhandale

Copy link
Copy Markdown
Member Author

It's not just the codespaces-linux but there are other images who call the feature with none
image

joshspicer do you recommend removing such feature calls? I'll check for their use before removing.

@joshspicer

Copy link
Copy Markdown
Member

Do you know why they would set to none? If you can justify why we need it then we can definitely keep, otherwise let's remove it?

We are in charge of what we keep/don't keep based on what makes sense now :)

@samruddhikhandale

Samruddhi Khandale (samruddhikhandale) commented May 13, 2022

Copy link
Copy Markdown
Member Author

Even when none is passed the feature installs something or the other. We need to take a call if we need that.

  1. Node feature - It installs NVM which may provide user an easy way to install Node later if necessary.
  2. Go feature - It is used by the Go image and it installs extra Go tools.
  3. Java - Similar to Node, it installs sdkman
  4. Python - Used by the miniconda and python images and it installs extra utils.
  5. Ruby - Installs rvm, gems and rbenv.

@joshspicer

Copy link
Copy Markdown
Member

Gotcha - can you also document 'none' in the relevant feature.json's too then: eg: https://github.com/devcontainers/features/blob/main/src/node/feature.json#L7

@joshspicer

Copy link
Copy Markdown
Member
  • maybe a less confusing name would be better? (although for now none is fine if nothing more clear comes to mind :) )

@samruddhikhandale

Copy link
Copy Markdown
Member Author

joshspicer I have few ideas like replacing none with tools or utils.
Or we could be explicit, eg - for node we can have install-nvm or nvm, for java we can have install-sdkman and for others it could be tools/utils.

Let me know which one sounds better, can't really think of a single word for all of them. Else, we can continue using none 😕

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants