I’m trying to just run my python project that seems to work fine on my Mac (best in pycharm, not as good but can run in VSCode) and terrible on my raspberry pi in VSCode. Whenever I run a pipenv shell
and then a pipenv install
it just complains with this error:
Pipfile.lock (e9a11d) out of date, updating to (47943b)...
Locking [dev-packages] dependencies...
Locking [packages] dependencies...
Building requirements...
Resolving dependencies...
✘ Locking Failed!
[ResolutionFailure]: File "/home/nick/.local/lib/python3.7/site-packages/pipenv/resolver.py", line 741, in _main
[ResolutionFailure]: resolve_packages(pre, clear, verbose, system, write, requirements_dir, packages, dev)
[ResolutionFailure]: File "/home/nick/.local/lib/python3.7/site-packages/pipenv/resolver.py", line 709, in resolve_packages
[ResolutionFailure]: requirements_dir=requirements_dir,
[ResolutionFailure]: File "/home/nick/.local/lib/python3.7/site-packages/pipenv/resolver.py", line 692, in resolve
[ResolutionFailure]: req_dir=requirements_dir
[ResolutionFailure]: File "/home/nick/.local/lib/python3.7/site-packages/pipenv/utils.py", line 1403, in resolve_deps
[ResolutionFailure]: req_dir=req_dir,
[ResolutionFailure]: File "/home/nick/.local/lib/python3.7/site-packages/pipenv/utils.py", line 1108, in actually_resolve_deps
[ResolutionFailure]: resolver.resolve()
[ResolutionFailure]: File "/home/nick/.local/lib/python3.7/site-packages/pipenv/utils.py", line 833, in resolve
[ResolutionFailure]: raise ResolutionFailure(message=str(e))
[pipenv.exceptions.ResolutionFailure]: Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
First try clearing your dependency cache with $ pipenv lock --clear, then try the original command again.
Alternatively, you can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Hint: try $ pipenv lock --pre if it is a pre-release dependency.
ERROR: Could not find a version that matches graphene-django>=3.0.0b1 (from -r /tmp/pipenvcczdc6ayrequirements/pipenv-eg1jqra7-constraints.txt (line 3))
Tried: 1.0, 1.1.0, 1.2.0, 1.2.1, 1.3, 2.0.0, 2.0.0, 2.1.0, 2.1.0, 2.2.0, 2.2.0, 2.3.0, 2.3.0, 2.3.2, 2.3.2, 2.4.0, 2.4.0, 2.5.0, 2.5.0, 2.6.0, 2.6.0, 2.7.0, 2.7.0, 2.7.1, 2.7.1, 2.8.0, 2.8.0, 2.8.1, 2.8.1, 2.8.2, 2.8.2, 2.9.0, 2.9.0, 2.9.1, 2.9.1, 2.10.0, 2.10.0, 2.10.1, 2.10.1, 2.11.0, 2.11.0, 2.11.1, 2.11.1, 2.12.0, 2.12.0, 2.12.1, 2.12.1, 2.13.0, 2.13.0, 2.14.0, 2.14.0, 2.15.0, 2.15.0
Skipped pre-versions: 1.0.dev20160909000001, 1.0.dev20160910000001, 1.0.dev20160917000001, 1.0.dev20160919000001, 1.0.dev20160919000002, 1.0.dev20160919000003, 1.0.dev20160919000004, 1.0.dev20160920000001, 1.0.dev20160922000001, 2.0.dev2017072501, 2.0.dev2017072601, 2.0.dev2017073101, 2.0.dev2017073101, 2.0.dev2017083101, 2.0.dev2017083101, 2.1rc0, 2.1rc0, 2.1rc1, 2.1rc1, 3.0.0b1, 3.0.0b1, 3.0.0b2, 3.0.0b2, 3.0.0b3, 3.0.0b3, 3.0.0b4, 3.0.0b4, 3.0.0b5, 3.0.0b5, 3.0.0b6, 3.0.0b6, 3.0.0b7, 3.0.0b7
There are incompatible versions in the resolved dependencies:
graphene-django (from -r /tmp/pipenvcczdc6ayrequirements/pipenv-eg1jqra7-constraints.txt (line 3))
graphene-django>=3.0.0b1 (from django-graphql-jwt==0.3.2->-r /tmp/pipenvcczdc6ayrequirements/pipenv-eg1jqra7-constraints.txt (line 5))
I don’t see what’s incompatible after running a pipenv graph
(after pipenv install --skip-lock
) as it returns this:
django-cors-headers==3.7.0
- Django [required: >=2.2, installed: 3.2.3]
- asgiref [required: >=3.3.2,<4, installed: 3.3.4]
- typing-extensions [required: Any, installed: 3.10.0.0]
- pytz [required: Any, installed: 2021.1]
- sqlparse [required: >=0.2.2, installed: 0.4.1]
django-graphql-jwt==0.3.2
- Django [required: >=1.11, installed: 3.2.3]
- asgiref [required: >=3.3.2,<4, installed: 3.3.4]
- typing-extensions [required: Any, installed: 3.10.0.0]
- pytz [required: Any, installed: 2021.1]
- sqlparse [required: >=0.2.2, installed: 0.4.1]
- graphene-django [required: >=3.0.0b1, installed: 3.0.0b7]
- Django [required: >=2.2, installed: 3.2.3]
- asgiref [required: >=3.3.2,<4, installed: 3.3.4]
- typing-extensions [required: Any, installed: 3.10.0.0]
- pytz [required: Any, installed: 2021.1]
- sqlparse [required: >=0.2.2, installed: 0.4.1]
- graphene [required: >=3.0.0b5,<4, installed: 3.0b7]
- aniso8601 [required: >=8,<9, installed: 8.1.1]
- graphql-core [required: >=3.1.2,<4, installed: 3.1.5]
- graphql-relay [required: >=3.0,<4, installed: 3.1.0]
- graphql-core [required: >=3.1, installed: 3.1.5]
- typing-extensions [required: >=3.7,<4, installed: 3.10.0.0]
- graphql-core [required: >=3.1.0,<4, installed: 3.1.5]
- promise [required: >=2.1, installed: 2.3]
- six [required: Any, installed: 1.16.0]
- text-unidecode [required: Any, installed: 1.3]
- PyJWT [required: >=2,<3, installed: 2.1.0]
Rx==1.6.1
singledispatch==3.6.1
- six [required: Any, installed: 1.16.0]
It seems that every version is installed correctly version-wide, including the graphene-django that it complains about [required: >=3.0.0b1, installed: 3.0.0b7].
Why is this error happening?
pip3 list
returns:
Package Version
------------------- --------
aniso8601 8.1.1
asgiref 3.3.4
Django 3.2.3
django-cors-headers 3.7.0
django-graphql-jwt 0.3.2
graphene 3.0b7
graphene-django 3.0.0b7
graphql-core 3.1.5
graphql-relay 3.1.0
pip 21.1.1
promise 2.3
PyJWT 2.1.0
pytz 2021.1
Rx 1.6.1
setuptools 56.0.0
singledispatch 3.6.1
six 1.16.0
sqlparse 0.4.1
text-unidecode 1.3
typing-extensions 3.10.0.0
wheel 0.36.2
The Pipfile:
[[source]]
url = "https://pypi.org/simple"
verify_ssl = true
name = "pypi"
[packages]
django = "*"
django-graphql-jwt = "*"
pyjwt = "1.7.1"
django-cors-headers = "*"
graphene-django = "*"
[requires]
python_version = "3.7"
[dev-packages]
I’ve tried a ton of things to try to fix this any have no idea where to go from here. I wanted to deploy this python, graphql and react project on my raspberry pi, but I assume I can’t if I can’t even get it to run. I'm trying to run this on my raspberry pi (running raspbian), and it is the back-end python app where the issue lies.
Any help, anything would be very much appreciated. I’m a beginner with python.
You somehow managed to install beta versions (used the
--pre
flag before then deleted the option from Pipfile, for example or used pip directly in the virtual env).Now, because
django-graphql-jwt
doesn't conform to semantic versioning, they decided to depend on a major version, pre-release in a patch release¯\_(ツ)_/¯
.Since the 0.3.1 version of
django-graphql-jtw
depends on>=2.5.1
, your beta version will still match, but without the--pre
flag locking will fail, because the highest non-beta version is 2.5.1. That is the conflict being shown (but the output isn't very clear).The resolution that should solve the issue is: