Poetry: Missing vendored dependencies on python 3.8-dev/nightly

Created on 11 Nov 2018  路  6Comments  路  Source: python-poetry/poetry

  • [x] I am on the latest Poetry version.
  • [x] I have searched the issues of this repo and believe that this is not a duplicate.
  • [ ] If an exception occurs when executing a command, I executed it again in debug mode (-vvv option).
  • OS version and name: ubuntu xenial
  • Poetry version: 0.12.7
  • Link of a Gist with the contents of your pyproject.toml file:

Issue

Just a heads up that the installer does not seem to be working for fresh installs on python 3.8-dev / nightly on travis. not really a high priority considering stable release is scheduled for 2019-10-20 but thought it would be worth noting.

Seems to be because the build script only vendors for 2.7/3.4-3.7

$ curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python
Retrieving Poetry metadata
# Welcome to Poetry!
This will download and install the latest version of Poetry,
a dependency and package manager for Python.
It will add the `poetry` command to Poetry's bin directory, located at:
$HOME/.poetry/bin
This path will then be added to your `PATH` environment variable by
modifying the profile files located at:
$HOME/.profile
$HOME/.bash_profile
You can uninstall at any time with `poetry self:uninstall`,
or by executing this script with the --uninstall option,
and these changes will be reverted.
Installing version: 0.12.7
  - Downloading poetry-0.12.7-linux.tar.gz (8.35MB)
Poetry (0.12.7) is installed now. Great!
To get started you need Poetry's bin directory ($HOME/.poetry/bin) in your `PATH`
environment variable. Next time you log in this will be done
automatically.
To configure your current shell run `source $HOME/.poetry/env`

$ source $HOME/.poetry/env

$ poetry install
Traceback (most recent call last):
  File "/home/travis/.poetry/bin/poetry", line 11, in <module>
    from poetry.console import main
  File "/home/travis/.poetry/lib/poetry/console/__init__.py", line 1, in <module>
    from .application import Application
  File "/home/travis/.poetry/lib/poetry/console/application.py", line 6, in <module>
    from cleo import Application as BaseApplication
ModuleNotFoundError: No module named 'cleo'

travis config

{
  "os": "linux",
  "dist": "xenial",
  "sudo": "required",
  "cache": {
    "pip": true,
    "directories": [
      "$HOME/.cache/pypoetry"
    ]
  },
  "group": "stable",
  "python": "3.8-dev",
  "script": [
    "make ci"
  ],
  "install": [
    "poetry install"
  ],
  "language": "python",
  "global_env": "PYPI_USER=[secure] PYPI_PASS=[secure] HYPOTHESIS_PROFILE=slow",
  "after_success": [
    "coveralls"
  ],
  "before_deploy": [
    "poetry config http-basic.pypi $PYPI_USER $PYPI_PASS",
    "poetry build -f sdist",
    "poetry build -f wheel"
  ],
  "before_install": [
    "curl -sSL https://raw.githubusercontent.com/sdispater/poetry/master/get-poetry.py | python",
    "source $HOME/.poetry/env"
  ]
}

Most helpful comment

What's the current state of this issue? I installed final python 3.8.0 and after it I installed latest Poetry (0.12.17) (via curl) and I'm getting the same error.

Is the recommendation to still use pip? Or is there a fix coming?

All 6 comments

Unfortunately, Poetry uses the manylinux Docker image, which does not have Python 3.8, to vendor the dependencies. I could still make Python 3.8 compatible builds on MacOS and Windows but I don't want discrepancies.

For now, you can install Poetry via pip for Python 3.8

Looks like the manylinux image will support a near-final beta for 3.8 soon: https://github.com/pypa/manylinux/pull/333

What's the current state of this issue? I installed final python 3.8.0 and after it I installed latest Poetry (0.12.17) (via curl) and I'm getting the same error.

Is the recommendation to still use pip? Or is there a fix coming?

Same issue.
Installed Python 3.8.0 using pyenv;
Installed poetry 0.12.17 by curl'ing to Python 3.8.0;
Got ModuleNotFoundError: No module named 'cleo' when I tried to setup autocompletion for oh-my-zsh:

$ poetry completions zsh > $ZSH/plugins/poetry/_poetry
Traceback (most recent call last):
  File "/home/kal/.poetry/bin/poetry", line 12, in <module>
    from poetry.console import main
  File "/home/kal/.poetry/lib/poetry/console/__init__.py", line 1, in <module>
    from .application import Application
  File "/home/kal/.poetry/lib/poetry/console/application.py", line 6, in <module>
    from cleo import Application as BaseApplication
ModuleNotFoundError: No module named 'cleo'

This is a bit frustrating as Arch Linux switched to python 3.8 by now. There is a package build for 3.8 in the repos, but that one does not vendor the older dependencies so I can not use pyenv to develop against older Python versions. Any release plan for poetry with 3.8 vendoring. I read some hacks about copying the 3.7 dir to 3.8 but I'm not sure this won't break.

-- Edit
I have just seen that you released the beta 6 of 1.0.0 with python 3.8 vendoring. I will give it a try. Thanks a lot for this amazing tool.

The current release runs fine with python3.8. So I close this issue.

Was this page helpful?
0 / 5 - 0 ratings