-vvv option).[tool.poetry.dependencies]
python = "~3.6"
dataclasses = { version = "0.*", python = "~3.6" }
kafka-python = { version = "^1.3.4", optional = true }
pydantic = "0.*"
py2nats = "0.*"
[tool.poetry.extras]
kafka = ["kafka-python"]
nats = ["py2nats"]
Failed to run poetry develop if extras defined.
Exception:
[VenvCommandError]
Command ['pip', 'install', '-e', '/my/package', '--no-deps'] errored with the following output:
Obtaining file:///my/package
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Complete output from command python setup.py egg_info:
error in package setup command: 'extras_require' must be a dictionary whose values are strings or lists of strings containing valid project/version requirement specifiers.
----------------------------------------
Command "python setup.py egg_info" failed with error code 1 in /my/package
Exception trace:
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/cleo/application.py in run() at line 94
status_code = self.do_run(input_, output_)
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/poetry/console/application.py in do_run() at line 88
return super(Application, self).do_run(i, o)
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/cleo/application.py in do_run() at line 197
status_code = command.run(input_, output_)
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/poetry/console/commands/command.py in run() at line 77
return super(BaseCommand, self).run(i, o)
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/cleo/commands/base_command.py in run() at line 146
status_code = self.execute(input_, output_)
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/cleo/commands/command.py in execute() at line 107
return self.handle()
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/poetry/console/commands/develop.py in handle() at line 35
self._install(setup)
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/poetry/console/commands/develop.py in _install() at line 48
self.venv.run("pip", "install", "-e", str(setup.parent), "--no-deps")
/Users/ng/.pyenv/versions/3.6.5/lib/python3.6/site-packages/poetry/utils/venv.py in run() at line 274
raise VenvCommandError(e)
develop
Part of generated setup.py:
extras_require = \
{':extra == "nats"': ['py2nats<1.0.0'],
':python_version >= "3.6" and python_version < "3.7"': ['dataclasses<1.0.0'],
'kafka': ['kafka-python>=1.3.4,<2.0.0']}
Not a poetry issue, I forgot to specify optional=true for py2nats dependency.
Thanks for explaining what the issue was; totally just hit this myself. 🤦♂️
Most helpful comment
Not a poetry issue, I forgot to specify
optional=trueforpy2natsdependency.