2nd-order dependencies missing from Pipfile.lock
See original GitHub issueI believe the answer will be “astroid is packaged weird”, but this package is maintained by the PyCQA and works fine with the pip freeze > requirements.txt
workflow, so I’m assuming other packages might exhibit this behavior.
$ pipenv --version
pipenv, version 7.0.1
$ pipenv install astroid --python=python2
Creating a virtualenv for this project…
...
Creating a Pipfile for this project…
Installing astroid…
Collecting astroid
Using cached astroid-1.5.3-py2.py3-none-any.whl
Collecting wrapt (from astroid)
Collecting enum34>=1.1.3; python_version < "3.4" (from astroid)
Using cached enum34-1.1.6-py2-none-any.whl
Collecting singledispatch; python_version < "3.4" (from astroid)
Using cached singledispatch-3.4.0.3-py2.py3-none-any.whl
Collecting six (from astroid)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting lazy-object-proxy (from astroid)
Collecting backports.functools-lru-cache; python_version < "3.3" (from astroid)
Using cached backports.functools_lru_cache-1.4-py2.py3-none-any.whl
Installing collected packages: wrapt, enum34, six, singledispatch, lazy-object-proxy, backports.functools-lru-cache, astroid
Successfully installed astroid-1.5.3 backports.functools-lru-cache-1.4 enum34-1.1.6 lazy-object-proxy-1.3.1 singledispatch-3.4.0.3 six-1.10.0 wrapt-1.10.11
Adding astroid to Pipfile's [packages]…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Updated Pipfile.lock!
$ .venv/bin/pip freeze
astroid==1.5.3
backports.functools-lru-cache==1.4
enum34==1.1.6
lazy-object-proxy==1.3.1
singledispatch==3.4.0.3
six==1.10.0
wrapt==1.10.11
$ cat Pipfile.lock
{
"_meta": {
...
file-spec": 3,
"requires": {
"python_version": "2.7"
},
"sources": [
{
"url": "https://pypi.python.org/simple",
"verify_ssl": true
}
]
},
"default": {
"astroid": {
"hashes": [
"sha256:39a21dd2b5d81a6731dc0ac2884fa419532dffd465cdd43ea6c168d36b76efb3",
"sha256:492c2a2044adbf6a84a671b7522e9295ad2f6a7c781b899014308db25312dd35"
],
"version": "==1.5.3"
},
"lazy-object-proxy": {
"hashes": [
...
],
"version": "==1.3.1"
},
"six": {
...
},
"wrapt": {
...
}
},
"develop": {}
}
backports.functools-lru-cache
, enum34
, and singledispatch
are missing from the Pipfile.lock
so future reinstalls (and CI runs) will fail.
$ pipenv graph
astroid==1.5.3
- backports.functools-lru-cache [required: Any, installed: 1.4]
- enum34 [required: >=1.1.3, installed: 1.1.6]
- lazy-object-proxy [required: Any, installed: 1.3.1]
- singledispatch [required: Any, installed: 3.4.0.3]
- six [required: Any, installed: 1.10.0]
- six [required: Any, installed: 1.10.0]
- wrapt [required: Any, installed: 1.10.11]
I’m guessing that astroid’s installation conditionally includes the back-ported Python 2 dependencies, but pipenv graph
seems to know about them so I don’t know why they’re missing.
Issue Analytics
- State:
- Created 6 years ago
- Comments:35 (35 by maintainers)
Top Results From Across the Web
Pipenv install is not adding dependencies to Pipfile.lock
I have tried using pipenv lock but it yields the same Pipfile.lock. All the dependencies show up on pip list and the constraints...
Read more >Common Pipenv Errors and How to Solve Them: Why Won't it ...
Here, you'll learn how to troubleshoot Pipenv installation and locking issues. ... who uses this Pipfile will encounter locking and dependency errors.
Read more >pipenv Documentation - Read the Docs
Generates and checks file hashes for locked dependencies when installing from Pipfile.lock. • Automatically install required Python version when pyenv is ...
Read more >Frequently Encountered Pipenv Problems - Read the Docs
Make sure your dependencies actually do resolve. If you're confident they are, you may need to clear your resolver cache. Run the following...
Read more >Pipenv install with all the flags, explained - Micah Smith
--system : this flag means that dependencies will be installed to the ... If they are the same, then pipenv concludes that Pipfile.lock...
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’m going to see if I can fix this for you, but it won’t be easy.
Asteroid is packaged weird — very fancily, to be exact 😃