Comments (5)
Should I use the Python feature on top of a node devcontainer image then to get the same result?
You could, if you don't have the same pinning to patch version issue. Else, you could simply use a base:ubuntu/debian image & then use Features to install node & python.
What are the upsides and downsides of installing the feature on top of, say, a node or base linux devcontainer vs a python devcontainer?
Downsides
- If you use a python image, then the time it takes to pull an image will be a little less as compared to building from source with the python Feature. We are planning to update the Python Feature to use a prebuilt binary but haven't made progress yet - devcontainers/features#75
- Python image uses the common-utils Feature which helps set the user, add themes, install common toolings, etc which would be missed with the Feature. However, using a base image or adding this Feature would help.
Upsides - You get more flexibility with versioning, and can make use of Feature options to customize the devcontainer (eg, insta)
Any caching, install time, or container size considerations?
- Images & Features are both cached.
- As Python Feature currently builds from source, the time needed would be little more compared to an image
- I think size is almost the same, as both the image & Feature builds Python from source. Hence, shouldn't have a major difference.
from images.
from images.
Hi @schlich
If you are using dev container images, then you can pin upto a minor version (eg. python 3.11 / 3.10). However, not to a patch version.
Have you looked at devcontainer features? With it, you could install (eg. python 3.11.1) as follows
"features": {
"ghcr.io/devcontainers/features/python:1": {
"version": "3.11.1"
}
}
from images.
That's a great point I hadn't considered. I've use features to pin versions of other things but for some reason hadn't considered using it on top of/to replace the base. Should I use the Python feature on top of a node devcontainer image then to get the same result? What are the upsides and downsides of installing the feature on top of, say, a node or base linux devcontainer vs a python devcontainer? Any caching, install time, or container size considerations? I can close this issue after I give some time for responses on this.
from images.
an excellent and thorough response, thank you!
from images.
Related Issues (20)
- Conflicting Ruby version managers HOT 1
- Support Alpine-3.18 HOT 2
- Getting started with miniconda3 image
- Support debian 12 (bookworm) - scheduled for June 10th HOT 1
- Tracking: Python 3.7 EOL scheduled for 27th June 2023 HOT 1
- Jekyll image: Fix build failures HOT 1
- Need to re-pin images: New major version of images are released due to added support for `debian:bookworm` HOT 2
- Ruby 3.1 & 3.2: Support debian-12 (bookworm) HOT 2
- Javascript-node: Support debian-12 (bookworm)
- Typescript-node: Support debian-12 (bookworm)
- .NET: Support debian-12 (bookworm) HOT 1
- Go: Support debian-12 (bookworm)
- Cpp, Java & Java-8 : Support debian-12 (bookworm)
- PHP 8.1 & 8.2: Support debian-12 (bookworm) HOT 2
- Anaconda: Support debian-12 (bookworm) HOT 1
- Rust: Support debian-12 (bookworm) HOT 1
- Jekyll: Support debian-12 (bookworm) HOT 1
- Miniconda: Support debian-12 (bookworm) HOT 1
- Python: Support debian-12 (bookworm) HOT 1
- Add SECURITY.md
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from images.