refactor(python): install poetry via mise default backend (#625)

* refactor(python): switch poetry installation back to mise native

- Stop using pipx to install poetry.
- Revert to using the native mise poetry plugin, which is now preferred for better environment integration.

Generated-by: aiautocommit

* refactor(python-poetry): remove default start command from config

* Remove the explicit start command to allow for standard project-level runtime defaults.
* The previous comment regarding poetry venv path issues is addressed by updated platform base images.

Generated-by: aiautocommit

* test: update snapshot

Generated-by: aiautocommit

* chore: remove unused railpack config example

Generated-by: aiautocommit
This commit is contained in:
Michael Bianco
2026-07-13 14:59:07 -06:00
committed by GitHub
parent b2142fd3d0
commit 1114ef3dc2
3 changed files with 5 additions and 16 deletions
@@ -30,7 +30,7 @@
"step": "build"
}
],
"startCommand": "poetry run python main.py",
"startCommand": "python main.py",
"variables": {
"PIP_DEFAULT_TIMEOUT": "100",
"PIP_DISABLE_PIP_VERSION_CHECK": "1",
@@ -56,7 +56,7 @@
},
{
"cmd": "mise install",
"customName": "install mise packages: pipx, pipx:poetry, python, uv"
"customName": "install mise packages: poetry, python"
}
],
"inputs": [
+3 -5
View File
@@ -319,7 +319,7 @@ func (p *PythonProvider) InstallMisePackages(ctx *generate.GenerateContext, mise
packages := []string{"python"}
// Install package managers
if p.hasPoetry(ctx) || p.hasPdm(ctx) || p.hasPipfile(ctx) {
if p.hasPdm(ctx) || p.hasPipfile(ctx) {
miseStep.Default("pipx", "latest")
packages = append(packages, "pipx")
@@ -332,10 +332,8 @@ func (p *PythonProvider) InstallMisePackages(ctx *generate.GenerateContext, mise
}
if p.hasPoetry(ctx) {
// as of 2025-10-18 the default mise poetry backend is asdf, which is very poorly maintained and has caused build
// issues for users, which is why we install poetry via pipx here.
miseStep.Default("pipx:poetry", "latest")
packages = append(packages, "pipx:poetry")
miseStep.Default("poetry", "latest")
packages = append(packages, "poetry")
}
if p.hasPdm(ctx) {
-9
View File
@@ -1,9 +0,0 @@
{
"$schema": "https://schema.railpack.com",
"deploy": {
// without this, `python` is used directly, running `poetry` directly could fail if it was copied
// into the poetry venv from a previous step's binary which has since been removed from the image
// we ran into this originally when installing python3-dev
"startCommand": "poetry run python main.py"
}
}