Skip to content

Dependency of extra packages is not installed #4912

@perkfly

Description

@perkfly
  • I am on the latest Poetry version.
  • 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: macOS 12
  • Poetry version: poetry is already at latest version 1.1.12
  • Link of a Gist with the contents of your pyproject.toml file: No needed

Issue

Poetry does not install the dependency of an optional dependency. For example:

╰─>$ poetry add pelican[markdown] -vvv
Using virtualenv: /Users/yifei/repos/poetry-test/.venv
PyPI: 56 packages found for pelican *
Using version ^4.7.1 for pelican

Updating dependencies
Resolving dependencies...
   1: fact: poetry-test is 0.1.0
   1: derived: poetry-test
   1: fact: poetry-test depends on pelican (^4.7.1)
   1: selecting poetry-test (0.1.0)
   1: derived: pelican[markdown] (>=4.7.1,<5.0.0)
PyPI: 1 packages found for pelican >=4.7.1,<5.0.0
   1: fact: pelican (4.7.1) depends on pelican (4.7.1)
   1: fact: pelican (4.7.1) depends on blinker (>=1.4)
   1: fact: pelican (4.7.1) depends on docutils (>=0.16)
   1: fact: pelican (4.7.1) depends on feedgenerator (>=1.9)
   1: fact: pelican (4.7.1) depends on jinja2 (>=2.7)
   1: fact: pelican (4.7.1) depends on pygments (>=2.6)
   1: fact: pelican (4.7.1) depends on python-dateutil (>=2.8)
   1: fact: pelican (4.7.1) depends on pytz (>=2020.1)
   1: fact: pelican (4.7.1) depends on rich (>=10.1)
   1: fact: pelican (4.7.1) depends on unidecode (>=1.1)
   1: fact: pelican (4.7.1) depends on markdown (>=3.1)
   1: selecting pelican[markdown] (4.7.1)
   1: derived: markdown (>=3.1)
   1: derived: unidecode (>=1.1)
   1: derived: rich (>=10.1)
   1: derived: pytz (>=2020.1)
   1: derived: python-dateutil (>=2.8)
   1: derived: pygments (>=2.6)
   1: derived: jinja2 (>=2.7)
   1: derived: feedgenerator (>=1.9)
   1: derived: docutils (>=0.16)
   1: derived: blinker (>=1.4)
   1: derived: pelican (==4.7.1)
PyPI: 12 packages found for markdown >=3.1
PyPI: 7 packages found for unidecode >=1.1
PyPI: 21 packages found for rich >=10.1
PyPI: 5 packages found for pytz >=2020.1
PyPI: No release information found for python-dateutil-0.1, skipping
PyPI: No release information found for python-dateutil-0.3, skipping
PyPI: No release information found for python-dateutil-0.4, skipping
PyPI: No release information found for python-dateutil-0.5, skipping
PyPI: No release information found for python-dateutil-1.0, skipping
PyPI: No release information found for python-dateutil-1.1, skipping
PyPI: No release information found for python-dateutil-1.2, skipping
PyPI: No release information found for python-dateutil-2.0, skipping
PyPI: 3 packages found for python-dateutil >=2.8
PyPI: 11 packages found for pygments >=2.6
PyPI: 25 packages found for jinja2 >=2.7
PyPI: 4 packages found for feedgenerator >=1.9
PyPI: 5 packages found for docutils >=0.16
PyPI: 1 packages found for blinker >=1.4
   1: selecting blinker (1.4)
   1: fact: python-dateutil (2.8.2) depends on six (>=1.5)
   1: selecting python-dateutil (2.8.2)
   1: derived: six (>=1.5)
PyPI: 18 packages found for six >=1.5
   1: fact: feedgenerator (2.0.0) depends on pytz (>=0a)
   1: selecting feedgenerator (2.0.0)
   1: selecting pytz (2021.3)
   1: selecting docutils (0.18.1)
   1: selecting unidecode (1.3.2)
   1: selecting pygments (2.10.0)
   1: selecting six (1.16.0)
   1: fact: rich (10.16.1) depends on pygments (>=2.6.0,<3.0.0)
   1: fact: rich (10.16.1) depends on commonmark (>=0.9.0,<0.10.0)
   1: fact: rich (10.16.1) depends on colorama (>=0.4.0,<0.5.0)
   1: selecting rich (10.16.1)
   1: derived: colorama (>=0.4.0,<0.5.0)
   1: derived: commonmark (>=0.9.0,<0.10.0)
PyPI: 5 packages found for colorama >=0.4.0,<0.5.0
PyPI: 2 packages found for commonmark >=0.9.0,<0.10.0
   1: selecting commonmark (0.9.1)
   1: selecting colorama (0.4.4)
   1: fact: jinja2 (3.0.3) depends on MarkupSafe (>=2.0)
   1: selecting jinja2 (3.0.3)
   1: derived: MarkupSafe (>=2.0)
PyPI: 2 packages found for markupsafe >=2.0
   1: selecting markupsafe (2.0.1)
PyPI: 1 packages found for pelican 4.7.1
   1: fact: pelican (4.7.1) depends on blinker (>=1.4)
   1: fact: pelican (4.7.1) depends on docutils (>=0.16)
   1: fact: pelican (4.7.1) depends on feedgenerator (>=1.9)
   1: fact: pelican (4.7.1) depends on jinja2 (>=2.7)
   1: fact: pelican (4.7.1) depends on pygments (>=2.6)
   1: fact: pelican (4.7.1) depends on python-dateutil (>=2.8)
   1: fact: pelican (4.7.1) depends on pytz (>=2020.1)
   1: fact: pelican (4.7.1) depends on rich (>=10.1)
   1: fact: pelican (4.7.1) depends on unidecode (>=1.1)
   1: selecting pelican (4.7.1)
   1: selecting markdown (3.3.6)
   1: Version solving took 12.693 seconds.
   1: Tried 1 solutions.

Writing lock file

Finding the necessary packages for the current system

Package operations: 15 installs, 0 updates, 0 removals

  • Installing colorama (0.4.4): Pending...
  • Installing colorama (0.4.4): Installing...
  • Installing colorama (0.4.4)
  • Installing commonmark (0.9.1): Pending...
  • Installing commonmark (0.9.1): Installing...
  • Installing commonmark (0.9.1)
  • Installing markupsafe (2.0.1): Pending...
  • Installing markupsafe (2.0.1): Installing...
  • Installing markupsafe (2.0.1)
  • Installing pygments (2.10.0): Pending...
  • Installing pygments (2.10.0): Installing...
  • Installing pygments (2.10.0)
  • Installing pytz (2021.3): Pending...
  • Installing pytz (2021.3): Installing...
  • Installing pytz (2021.3)
  • Installing six (1.16.0): Pending...
  • Installing six (1.16.0): Installing...
  • Installing six (1.16.0)
  • Installing blinker (1.4): Pending...
  • Installing blinker (1.4): Installing...
  • Installing blinker (1.4)
  • Installing docutils (0.18.1): Pending...
  • Installing docutils (0.18.1): Installing...
  • Installing docutils (0.18.1)
  • Installing feedgenerator (2.0.0): Pending...
  • Installing feedgenerator (2.0.0): Installing...
  • Installing feedgenerator (2.0.0)
  • Installing jinja2 (3.0.3): Pending...
  • Installing jinja2 (3.0.3): Installing...
  • Installing jinja2 (3.0.3)
  • Installing markdown (3.3.6): Pending...
  • Installing markdown (3.3.6): Installing...
  • Installing markdown (3.3.6)
  • Installing python-dateutil (2.8.2): Pending...
  • Installing python-dateutil (2.8.2): Installing...
  • Installing python-dateutil (2.8.2)
  • Installing rich (10.16.1): Pending...
  • Installing rich (10.16.1): Installing...
  • Installing rich (10.16.1)
  • Installing unidecode (1.3.2): Pending...
  • Installing unidecode (1.3.2): Installing...
  • Installing unidecode (1.3.2)
  • Installing pelican (4.7.1): Pending...
  • Installing pelican (4.7.1): Installing...
  • Installing pelican (4.7.1)

The dependency(importlib-metadata (>=4.4)) of the optional package markdown is not installed. This can be verified by:

╰─>$ poetry export --without-hashes | cut -d';' -f1
blinker==1.4
colorama==0.4.4
commonmark==0.9.1
docutils==0.18.1
feedgenerator==2.0.0
jinja2==3.0.3
markdown==3.3.6
markupsafe==2.0.1
pelican==4.7.1
pygments==2.10.0
python-dateutil==2.8.2
pytz==2021.3
rich==10.16.1
six==1.16.0
unidecode==1.3.2
╰─>$ python
Python 3.9.9 (main, Nov 21 2021, 03:16:13)
[Clang 13.0.0 (clang-1300.0.29.3)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import markdown
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/yifei/repos/poetry-test/.venv/lib/python3.9/site-packages/markdown/__init__.py", line 29, in <module>
    from .core import Markdown, markdown, markdownFromFile  # noqa: E402
  File "/Users/yifei/repos/poetry-test/.venv/lib/python3.9/site-packages/markdown/core.py", line 26, in <module>
    from . import util
  File "/Users/yifei/repos/poetry-test/.venv/lib/python3.9/site-packages/markdown/util.py", line 36, in <module>
    import importlib_metadata as metadata
ModuleNotFoundError: No module named 'importlib_metadata'

Using pip install pelican[markdown], the behavior is correct.

╰─>$ pip install pelican[markdown]
Looking in indexes: https://pypi.python.org/simple, https://pypi.apple.com/simple
Requirement already satisfied: pelican[markdown] in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (4.7.1)
Requirement already satisfied: rich>=10.1 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (10.16.1)
Requirement already satisfied: unidecode>=1.1 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (1.3.2)
Requirement already satisfied: pytz>=2020.1 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (2021.3)
Requirement already satisfied: blinker>=1.4 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (1.4)
Requirement already satisfied: docutils>=0.16 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (0.18.1)
Requirement already satisfied: jinja2>=2.7 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (3.0.3)
Requirement already satisfied: python-dateutil>=2.8 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (2.8.2)
Requirement already satisfied: feedgenerator>=1.9 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (2.0.0)
Requirement already satisfied: pygments>=2.6 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (2.10.0)
Requirement already satisfied: markdown>=3.1 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from pelican[markdown]) (3.3.6)
Requirement already satisfied: MarkupSafe>=2.0 in /Users/yifei/repos/notes/.venv/lib/python3.9/site-packages (from jinja2>=2.7->pelican[markdown]) (2.0.1)
Collecting importlib-metadata>=4.4
  Downloading https://pypi.apple.com/packages/packages/62/ca/650dc5eb21dea34368ca88847ceed1c1af442341cc0884d7b574df4cb20b/importlib_metadata-4.9.0-py3-none-any.whl (17kB)

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugSomething isn't working as expected

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions