-
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
wrong lock file with python 3.7 #2473
Comments
Does this work if you install pipenv from master? |
I will try it now |
Do not work correctly in master branch yet. I will paste step and result. step
$ pipenv --supportPipenv version: Pipenv location: Python location: Other Python installations in
PEP 508 Information:
System environment variables:
Pipenv–specific environment variables: Debug–specific environment variables:
Contents of [[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
aiohttp = "*"
[dev-packages]
[requires]
python_version = "3.7"
Contents of {
"_meta": {
"hash": {
"sha256": "2c5c75ab0fc628a232239706591e922fec111ed0bb34cc8c62d3352e2d21a02d"
},
"pipfile-spec": 6,
"requires": {
"python_version": "3.7"
},
"sources": [
{
"name": "pypi",
"url": "https://pypi.org/simple",
"verify_ssl": true
}
]
},
"default": {
"aiohttp": {
"hashes": [
"sha256:1a112a1fdf3802b7f2b182e22e51d71e4a8fa7387d0d38e79a268921b869e384",
"sha256:33aa7c937ebaf063a860cbb0c263a771b33333a84965c6148eeafe64fb4e29ca",
"sha256:550b4a0788500f6d00f41b7fdd9fcce6d78f99706a7b2f6f81d4d331c7ca468e",
"sha256:601e8e83123b4d423a9dfddf7d6943f4f520651a78ffcd50c99d065136c7ff7b",
"sha256:620f19ba7628b70b177f5c2e6a55a6fd6e7c8591cde38c3f8f52551733d31b66",
"sha256:70d56c784da1239c89d39fefa166fd429306dada641178389be4184a9c04e501",
"sha256:7de2c9e445a5d257935011268202338538abef1aaff341a4733eca56419ca6f6",
"sha256:96bb80b659cc2bafa160f3f0c346ce7fc10de1ffec4908d7f9690797f155f658",
"sha256:ae7501cc6a6c37b8d4774bf2218c37be47fe42019a2570e8510fc2044e59d573",
"sha256:c833aa6f4c9ac3e3eb843e3d999bae51339ad33a937303f43ce78064e61cb4b6",
"sha256:dd81d85a342edf3d2a388e2f24d9facebc9c04550043888f970ee2f228c93059",
"sha256:f20deec7a3fbaec7b5eb7ad99878427ad2ee4cc16a46732b705e8121cbb3cc12",
"sha256:f52e7287eb9286a1e91e4c67c207c2573147fbaddc68f70efb5aeee5d1992f2e",
"sha256:fe7b2972ff7e779e812f974aa5695edc328ecf559ceeea887ac46f06f090ad4c",
"sha256:ff1447c84a02b9cd5dd3a9332d1fb181a4386c3625765bb5caf1cfbc210ab3f9"
],
"index": "pypi",
"version": "==3.3.2"
},
"async-timeout": {
"hashes": [
"sha256:474d4bc64cee20603e225eb1ece15e248962958b45a3648a9f5cc29e827a610c",
"sha256:b3c0ddc416736619bd4a95ca31de8da6920c3b9a140c64dbef2b2fa7bf521287"
],
"markers": "python_version >= '3.5.3'",
"version": "==3.0.0"
},
"attrs": {
"hashes": [
"sha256:4b90b09eeeb9b88c35bc642cbac057e45a5fd85367b985bd2809c62b7b939265",
"sha256:e0d0eb91441a3b53dab4d9b743eafc1ac44476296a2053b6ca3af0b139faf87b"
],
"version": "==18.1.0"
},
"chardet": {
"hashes": [
"sha256:84ab92ed1c4d4f16916e05906b6b75a6c0fb5db821cc65e70cbd64a3e2a5eaae",
"sha256:fc323ffcaeaed0e0a02bf4d117757b98aed530d9ed4531e3e15460124c106691"
],
"version": "==3.0.4"
},
"idna": {
"hashes": [
"sha256:156a6814fb5ac1fc6850fb002e0852d56c0c8d2531923a51032d1b70760e186e",
"sha256:684a38a6f903c1d71d6d5fac066b58d7768af4de2b832e426ec79c30daa94a16"
],
"version": "==2.7"
},
"idna-ssl": {
"hashes": [
"sha256:1227e44039bd31e02adaeafdbba61281596d623d222643fb021f87f2144ea147"
],
"version": "==1.0.0"
},
"multidict": {
"hashes": [
"sha256:1a1d76374a1e7fe93acef96b354a03c1d7f83e7512e225a527d283da0d7ba5e0",
"sha256:1d6e191965505652f194bc4c40270a842922685918a4f45e6936a6b15cc5816d",
"sha256:295961a6a88f1199e19968e15d9b42f3a191c89ec13034dbc212bf9c394c3c82",
"sha256:2be5af084de6c3b8e20d6421cb0346378a9c867dcf7c86030d6b0b550f9888e4",
"sha256:2eb99617c7a0e9f2b90b64bc1fb742611718618572747d6f3d6532b7b78755ab",
"sha256:4ba654c6b5ad1ae4a4d792abeb695b29ce981bb0f157a41d0fd227b385f2bef0",
"sha256:5ba766433c30d703f6b2c17eb0b6826c6f898e5f58d89373e235f07764952314",
"sha256:a59d58ee85b11f337b54933e8d758b2356fcdcc493248e004c9c5e5d11eedbe4",
"sha256:a6e35d28900cf87bcc11e6ca9e474db0099b78f0be0a41d95bef02d49101b5b2",
"sha256:b4df7ca9c01018a51e43937eaa41f2f5dce17a6382fda0086403bcb1f5c2cf8e",
"sha256:bbd5a6bffd3ba8bfe75b16b5e28af15265538e8be011b0b9fddc7d86a453fd4a",
"sha256:d870f399fcd58a1889e93008762a3b9a27cf7ea512818fc6e689f59495648355",
"sha256:e9404e2e19e901121c3c5c6cffd5a8ae0d1d67919c970e3b3262231175713068"
],
"version": "==4.3.1"
},
"yarl": {
"hashes": [
"sha256:2556b779125621b311844a072e0ed367e8409a18fa12cbd68eb1258d187820f9",
"sha256:4aec0769f1799a9d4496827292c02a7b1f75c0bab56ab2b60dd94ebb57cbd5ee",
"sha256:55369d95afaacf2fa6b49c84d18b51f1704a6560c432a0f9a1aeb23f7b971308",
"sha256:6c098b85442c8fe3303e708bbb775afd0f6b29f77612e8892627bcab4b939357",
"sha256:9182cd6f93412d32e009020a44d6d170d2093646464a88aeec2aef50592f8c78",
"sha256:c8cbc21bbfa1dd7d5386d48cc814fe3d35b80f60299cdde9279046f399c3b0d8",
"sha256:db6f70a4b09cde813a4807843abaaa60f3b15fb4a2a06f9ae9c311472662daa1",
"sha256:f17495e6fe3d377e3faac68121caef6f974fcb9e046bc075bcff40d8e5cc69a4",
"sha256:f85900b9cca0c67767bb61b2b9bd53208aaa7373dae633dbe25d179b4bf38aa7"
],
"version": "==1.2.6"
}
},
"develop": {}
}
|
Something is off. aiohttp uses code to add to |
@item4 You probably want to raise an issue and ask the maintainers to fix this to use PEP 508 environment markers. https://github.com/aio-libs/aiohttp/blob/5359dbe/setup.py#L80 |
@uranusjr that’s what I keep trying to flag everywhere when people say it's slow. We execute the setup.py file if we are using an sdist. That doesn't mean we execute it just to install it, we harvest the dependency graph out of it. It’s a bit finicky though. |
That siad, no idea why we'd pick it up with that conditional in there |
That’s exactly what I tried to say. We should pick it up, but there’s no way we could have in this case, unless we are configuring something wrong. We may have another hidden bug here. |
I went digging and the problem is indeed aiohttp using conditionals instead of PEP 508 markers. We scan artifacts so we can lock dependencies for all versions (because lock files are supposed to be version and platform-independent). aiohttp not using markers means it specifies idna-ssl globally in some wheels, and Pipenv has to include it globally as a result. Bottom line is, this is a packaging bug. aiohttp needs to fix it. |
FYI if you are still having issues with this, this [[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
idna-ssl = {version = "*", markers = "python_version == '<3.7'"}
aiohttp = "*"
[dev-packages]
[require]
python_version = "3.7" |
I can confirm adding |
PR #3114 by @item4 Use marker in install_requires following PEP-508 Ref: pypa/pipenv#2473 Ref: https://www.python.org/dev/peps/pep-0508/
hi there! |
Depending on your definition of seamless. In this particular situation, the problem is the package the user wants to install (idna-ssl). Pipenv can do nothing about it. |
Be sure to check the existing issues (both open and closed!).
Describe the issue briefly here.
Please run
$ python -m pipenv.help
, and paste the results here.If you're on MacOS, just run the following:
$ python -m pipenv.help output
Pipenv version:
'2018.6.25'
Pipenv location:
'/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/lib/python3.7/site-packages/pipenv'
Python location:
'/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/bin/python'
Other Python installations in
PATH
:2.7
:/usr/local/bin/python2.7
2.7
:/Users/item4/.pyenv/shims/python2.7
2.7
:/usr/local/bin/python2.7
2.7
:/usr/local/bin/python2.7
2.7
:/usr/bin/python2.7
3.4
:/usr/local/bin/python3.4m
3.4
:/usr/local/bin/python3.4
3.4
:/usr/local/bin/python3.4
3.5
:/usr/local/bin/python3.5m
3.5
:/usr/local/bin/python3.5
3.5
:/usr/local/bin/python3.5
3.6
:/Users/item4/.pyenv/shims/python3.6
3.7
:/Users/item4/.pyenv/shims/python3.7m
3.7
:/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/bin/python3.7
3.7
:/Users/item4/.pyenv/shims/python3.7
3.7.0
:/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/bin/python
3.7.0
:/Users/item4/.pyenv/shims/python
2.7.15
:/usr/local/bin/python
2.7.15
:/usr/local/bin/python
2.7.10
:/usr/bin/python
None
:/Users/item4/.pyenv/shims/python2
2.7.15
:/usr/local/bin/python2
2.7.15
:/usr/local/bin/python2
3.7.0
:/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/bin/python3
3.7.0
:/Users/item4/.pyenv/shims/python3
3.5.0
:/usr/local/bin/python3
3.5.0
:/usr/local/bin/python3
PEP 508 Information:
System environment variables:
GHC_DOT_APP
VIRTUALENVWRAPPER_PROJECT_FILENAME
VIRTUALENVWRAPPER_SCRIPT
TERM_PROGRAM
NVM_CD_FLAGS
PYENV_ROOT
TERM
SHELL
TMPDIR
Apple_PubSub_Socket_Render
PIXIV_PASSWORD
TERM_PROGRAM_VERSION
OLDPWD
RUST_SRC_PATH
TERM_SESSION_ID
NVM_DIR
USER
COMMAND_MODE
SSH_AUTH_SOCK
__CF_USER_TEXT_ENCODING
VIRTUAL_ENV
WORKON_HOME
PROJECT_HOME
VIRTUALENVWRAPPER_PYTHON
PATH
PIXIV_ID
PYENV_VIRTUALENVWRAPPER_PYENV_VERSION
VIRTUALENVWRAPPER_HOOK_DIR
PWD
WIRESHARK_APP_DIR
LANG
ITERM_PROFILE
XPC_FLAGS
VIRTUALENVWRAPPER_VIRTUALENV
PS1
XPC_SERVICE_NAME
PYENV_SHELL
SHLVL
HOME
COLORFGBG
ITERM_SESSION_ID
LOGNAME
VIRTUALENVWRAPPER_VIRTUALENV_CLONE
NVM_BIN
GOPATH
VIRTUALENVWRAPPER_WORKON_CD
SECURITYSESSIONID
VIRTUALENVWRAPPER_LAZY_SCRIPT
COLORTERM
_
PYTHONDONTWRITEBYTECODE
PIP_PYTHON_PATH
Pipenv–specific environment variables:
Debug–specific environment variables:
PATH
:/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/bin:/Users/item4/.nvm/versions/node/v10.0.0/bin:/Users/item4/.pyenv/shims:/Users/item4/.cargo/bin:/Applications/Postgres.app/Contents/Versions/latest/bin:/usr/local/bin:/usr/local/share/git-core/contrib//diff-highlight/:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/item4/.rvm/bin:/Users/item4/go/bin
SHELL
:/bin/bash
LANG
:ko_KR.UTF-8
PWD
:/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d
VIRTUAL_ENV
:/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d
Contents of
Pipfile
('/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/Pipfile'):Contents of
Pipfile.lock
('/Users/item4/.virtualenvs/tmp-6327fd03a1e0f6d/Pipfile.lock'):Expected result
There is no
idna-ssl
inPipfile.lock
because aiohttp do not need idna-ssl with py37Actual result
pipenv make wrong lock file with
idna-ssl
Steps to replicate
The text was updated successfully, but these errors were encountered: