1.2.x version regression: when `install` called multiple times with different "extras", then "extras" from previous step are removed
See original GitHub issueSteps to reproduce (1.2.x version)
poetry install -E foobar
poetry install -E spameggs
After calling -E spameggs
, all extras from “foobar” will be removed.
Old behavior (1.1.x version)
poetry install -E foobar
poetry install -E spameggs
After calling -E spameggs
, all extras from “foobar” are kept. In result, I have all “foobar” and “spameggs” dependencies.
Problems
- This change is not mentioned in the changelog https://python-poetry.org/history/
- This change is Poetry regression / degradation.
Rationale
In the past, I was able to use Docker multi-stage builds:
FROM python:3.10-slim-bullseye as base
# Install only main dependencies
RUN poetry install --no-interaction --no-ansi --no-root --no-dev
FROM base as testing
# We have runtime dependencies, now add only "dev" dependencies
RUN poetry install --no-interaction --no-ansi --no-root
FROM base as deploy
# We have runtime dependencies, now add only cloud dependencies
RUN poetry install --no-interaction --no-ansi --no-root --no-dev -E cloud_deploy
In other words, I was able to add more and more “extras” on every CI/CD step. Since 1.2.x version such behavior is broken and I see no workarounds.
Issue Analytics
- State:
- Created a year ago
- Comments:8 (4 by maintainers)
Top Results From Across the Web
Practical Regression and Anova using R
1 it is called multiple re- gression or sometimes multivariate regression. When there is more than one Y, then it is called multivariate....
Read more >Chapter 8. Regression Basics - BC Open Textbooks
Regression analysis, like most multivariate statistics, allows you to infer that there is a relationship between two or more variables. These relationships are ......
Read more >Chapter 15 Linear regression | Learning statistics with R
In statistics, this line that we're drawing is called a regression line. ... like the same formula, but there's some extra frilly bits...
Read more >1.11. Ensemble methods — scikit-learn 1.2.0 documentation
The sklearn.ensemble module includes two averaging algorithms based on randomized decision trees: the RandomForest algorithm and the Extra-Trees method.
Read more >How to Setup Your Python Environment for Machine Learning ...
Install Deep Learning Libraries. 1. Download Anaconda. In this step, we will download the Anaconda Python package for your platform. Anaconda is ...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
An MR updating the docs would be welcome I’m sure. I’ve been trying to help you with
… and I think we’re done.
The 1.2 behaviour seems like an improvement to me. If you want to install more than one set of extras then, per the help
multiple values are allowed