python-poetry-buildpack
python-poetry-buildpack copied to clipboard
Deprecated Poetry installer
Current Poetry installer gives
This installer is deprecated. Poetry versions installed using this script will not be able to use 'self update' command to upgrade to 1.2.0a1 or later.
warning. Related discussion can be found here
@ulgens Thank you for the hint. I've created a pull request to update to the new installer url. Will be merged soon.
The PR is merged. @ulgens Thanks for participating.
I had to rollback the change, because there are problems in our deployments. Have to check.
remote: -----> Install Poetry
remote: Retrieving Poetry metadata
remote:
remote: # Welcome to Poetry!
remote:
remote: This will download and install the latest version of Poetry,
remote: a dependency and package manager for Python.
remote:
remote: It will add the `poetry` command to Poetry's bin directory, located at:
remote:
remote: /app/.local/bin
remote:
remote: You can uninstall at any time by executing this script with the --uninstall option,
remote: and these changes will be reverted.
remote:
remote: Installing Poetry (1.1.12)
remote: Installing Poetry (1.1.12): Creating environment
remote: The virtual environment was not created successfully because ensurepip is not
remote: available. On Debian/Ubuntu systems, you need to install the python3-venv
remote: package using the following command.
remote:
remote: apt install python3.8-venv
remote:
remote: You may need to use sudo with that command. After installing the python3-venv
remote: package, recreate your virtual environment.
remote:
remote: Failing command: ['/app/.local/share/pypoetry/venv/bin/python3', '-Im', 'ensurepip', '--upgrade', '--default-pip']
remote:
remote: ! Push rejected, failed to compile Python Poetry app.
Command to reproduce:
docker run --rm -it heroku/heroku:20 bash -c "curl -sSL https://install.python-poetry.org | python -"
Any update?
Not really.
Unfortunately, it seems that Heroku images don't have ensurepip
for the system Python and the new installer needs it. I guess the one from the buildpack does have it, but our buildpack must run before Python buildpack. There is an option of depending on the apt buildpack, but that's a no-go. Replicating what it does in our buildpack seems crazy...
Any other ideas?
Resolved in #48.