poetry picks pypy dependencies when executed in cpython environment
See original GitHub issue- 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: Windows 10
- Poetry version: 1.1.4
- Link of a Gist with the contents of your pyproject.toml file: https://gist.github.com/gragib/07f146d5b0c978674376c2e1d63edd79
Issue
If a dependency has one or more subdependency specific to a Python implementation, poetry
ignores the implementation details.
E.g. slash
has the following requirements:
IPython==1.2.1; implementation_name=='pypy'
IPython; implementation_name!='pypy'
If your project depends on slash
, in a cpython
3.7 environment, poetry
uses
ipython==1.2.1
instead of
ipython==*
[ARCHIVED] Issue
Compiling this file
[tool.poetry]
name = "test"
version = "0.1.0"
description = ""
authors = ["None <none@example.com>"]
[tool.poetry.dependencies]
python = "3.7"
slash = "*"
[tool.poetry.dev-dependencies]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
installs these packages
arrow==0.17.0
atomicwrites==1.4.0
attrs==20.3.0
Brotli==1.0.9
certifi==2020.11.8
chardet==3.0.4
colorama==0.4.4
confetti==2.5.3
dessert==1.4.1
emport==1.3.1
gossip==2.4.0
idna==2.10
ipython==1.2.1
Jinja2==2.11.2
libtmux==0.8.5
Logbook==1.5.3
MarkupSafe==1.1.1
munch==2.5.0
ordered-set==4.0.2
py==1.9.0
pyparsing==2.4.7
pyreadline==2.1
python-dateutil==2.8.1
raven==6.10.0
requests==2.25.0
sentinels==1.0.0
six==1.15.0
slash==1.12.0
SQLAlchemy==1.3.20
urllib3==1.26.2
vintage==0.4.1
Simply installing slash
using pip
installs these packages:
arrow==0.17.0
atomicwrites==1.4.0
attrs==20.3.0
backcall==0.2.0
Brotli==1.0.9
certifi==2020.11.8
chardet==3.0.4
colorama==0.4.4
confetti==2.5.3
decorator==4.4.2
dessert==1.4.1
emport==1.3.1
gossip==2.4.0
idna==2.10
ipython==7.19.0
ipython-genutils==0.2.0
jedi==0.17.2
Jinja2==2.11.2
libtmux==0.8.5
Logbook==1.5.3
MarkupSafe==1.1.1
munch==2.5.0
ordered-set==4.0.2
parso==0.7.1
pickleshare==0.7.5
prompt-toolkit==3.0.8
py==1.9.0
Pygments==2.7.2
pyparsing==2.4.7
python-dateutil==2.8.1
raven==6.10.0
requests==2.25.0
sentinels==1.0.0
six==1.15.0
slash==1.12.0
SQLAlchemy==1.3.20
traitlets==5.0.5
urllib3==1.26.2
vintage==0.4.1
wcwidth==0.2.5
My understanding is that the two lists should be identical. They are not.
Issue Analytics
- State:
- Created 3 years ago
- Reactions:2
- Comments:18 (4 by maintainers)
Top Results From Across the Web
How to Effortlessly Publish your Python Package to PyPI ...
A virtual environment is a tool that helps to keep dependencies ... To run the script, combine poetry run and python pretty.py command:...
Read more >Poetry install fails for nested local dependencies and develop ...
If an exception occurs when executing a command, I executed it again in debug mode ( -vvv option). Standard Python:3.8 docker image; 1.1.4 ......
Read more >Dependency Management With Python Poetry
Learn how Python Poetry will help you start new projects, maintain existing ones, and master dependency management.
Read more >poethepoet - PyPI
A task runner that works well with poetry. Features. ✓ Straight forward declaration of project tasks in your pyproject.toml (kind of like npm...
Read more >Python Poetry: Package and venv Management Made Easy
Learn how to install and use the Python Poetry package manager to manage the dependencies and virtual environment(s) of your Python project.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
I have updated the issue title and description.
OK. Then it looks like a bug to me as well. Poetry should not be insisting on
ipython==1.2.1
since you are not on pypy.