django-oscar / django-oscar-api

RESTful JSON API for django-oscar

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

the sandbox doesn't work due to incompatable version of django getting installed.

opened this issue · comments

after doing a make sandbox i get the following error

pip install -e .[dev]
Obtaining file:///home/mhb/Documents/oscarapi
Collecting Django>=2.2.24
Using cached Django-4.0.3-py3-none-any.whl (8.0 MB)
Requirement already satisfied: django-oscar>=3.0 in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (3.1)
Requirement already satisfied: djangorestframework>=3.9 in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (3.13.1)
Requirement already satisfied: setuptools in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (44.0.0)
Requirement already satisfied: coverage in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (6.3.2)
Requirement already satisfied: easy_thumbnails in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (2.8.1)
Requirement already satisfied: mock in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (4.0.3)
Requirement already satisfied: twine in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (3.8.0)
Requirement already satisfied: wheel in ./venv/lib/python3.8/site-packages (from django-oscar-api==3.1.0) (0.37.1)
Collecting backports.zoneinfo; python_version < "3.9"
Using cached backports.zoneinfo-0.2.1-cp38-cp38-manylinux1_x86_64.whl (74 kB)
Requirement already satisfied: asgiref<4,>=3.4.1 in ./venv/lib/python3.8/site-packages (from Django>=2.2.24->django-oscar-api==3.1.0) (3.5.0)
Requirement already satisfied: sqlparse>=0.2.2 in ./venv/lib/python3.8/site-packages (from Django>=2.2.24->django-oscar-api==3.1.0) (0.4.2)
Requirement already satisfied: django-extra-views<0.14,>=0.13 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (0.13.0)
Requirement already satisfied: purl>=0.7 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (1.6)
Requirement already satisfied: django-tables2<2.4,>=2.3 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (2.3.4)
Requirement already satisfied: pillow>=6.0 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (9.0.1)
Requirement already satisfied: django-widget-tweaks>=1.4.1 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (1.4.12)
Requirement already satisfied: django-treebeard<4.5,>=4.3 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (4.4)
Requirement already satisfied: django-haystack>=3.0b1 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (3.2.dev0)
Requirement already satisfied: phonenumbers in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (8.12.45)
Requirement already satisfied: Babel<3.0,>=1.0 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (2.9.1)
Requirement already satisfied: factory-boy<3.3,>=3.0 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (3.2.1)
Requirement already satisfied: django-phonenumber-field<6.0.0,>=4.0.0 in ./venv/lib/python3.8/site-packages (from django-oscar>=3.0->django-oscar-api==3.1.0) (5.2.0)
Requirement already satisfied: pytz in ./venv/lib/python3.8/site-packages (from djangorestframework>=3.9->django-oscar-api==3.1.0) (2022.1)
Requirement already satisfied: svglib in ./venv/lib/python3.8/site-packages (from easy_thumbnails->django-oscar-api==3.1.0) (1.2.1)
Requirement already satisfied: reportlab in ./venv/lib/python3.8/site-packages (from easy_thumbnails->django-oscar-api==3.1.0) (3.6.9)
Requirement already satisfied: importlib-metadata>=3.6 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (4.11.3)
Requirement already satisfied: requests-toolbelt!=0.9.0,>=0.8.0 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (0.9.1)
Requirement already satisfied: rfc3986>=1.4.0 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (2.0.0)
Requirement already satisfied: requests>=2.20 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (2.27.1)
Requirement already satisfied: colorama>=0.4.3 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (0.4.4)
Requirement already satisfied: readme-renderer>=21.0 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (34.0)
Requirement already satisfied: urllib3>=1.26.0 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (1.26.9)
Requirement already satisfied: tqdm>=4.14 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (4.63.1)
Requirement already satisfied: keyring>=15.1 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (23.5.0)
Requirement already satisfied: pkginfo>=1.8.1 in ./venv/lib/python3.8/site-packages (from twine->django-oscar-api==3.1.0) (1.8.2)
Requirement already satisfied: six>=1.5.2 in ./venv/lib/python3.8/site-packages (from django-extra-views<0.14,>=0.13->django-oscar>=3.0->django-oscar-api==3.1.0) (1.16.0)
Requirement already satisfied: Faker>=0.7.0 in ./venv/lib/python3.8/site-packages (from factory-boy<3.3,>=3.0->django-oscar>=3.0->django-oscar-api==3.1.0) (13.3.3)
Requirement already satisfied: cssselect2>=0.2.0 in ./venv/lib/python3.8/site-packages (from svglib->easy_thumbnails->django-oscar-api==3.1.0) (0.5.0)
Requirement already satisfied: lxml in ./venv/lib/python3.8/site-packages (from svglib->easy_thumbnails->django-oscar-api==3.1.0) (4.8.0)
Requirement already satisfied: tinycss2>=0.6.0 in ./venv/lib/python3.8/site-packages (from svglib->easy_thumbnails->django-oscar-api==3.1.0) (1.1.1)
Requirement already satisfied: zipp>=0.5 in ./venv/lib/python3.8/site-packages (from importlib-metadata>=3.6->twine->django-oscar-api==3.1.0) (3.7.0)
Requirement already satisfied: charset-normalizer~=2.0.0; python_version >= "3" in ./venv/lib/python3.8/site-packages (from requests>=2.20->twine->django-oscar-api==3.1.0) (2.0.12)
Requirement already satisfied: certifi>=2017.4.17 in ./venv/lib/python3.8/site-packages (from requests>=2.20->twine->django-oscar-api==3.1.0) (2021.10.8)
Requirement already satisfied: idna<4,>=2.5; python_version >= "3" in ./venv/lib/python3.8/site-packages (from requests>=2.20->twine->django-oscar-api==3.1.0) (3.3)
Requirement already satisfied: bleach>=2.1.0 in ./venv/lib/python3.8/site-packages (from readme-renderer>=21.0->twine->django-oscar-api==3.1.0) (4.1.0)
Requirement already satisfied: docutils>=0.13.1 in ./venv/lib/python3.8/site-packages (from readme-renderer>=21.0->twine->django-oscar-api==3.1.0) (0.18.1)
Requirement already satisfied: Pygments>=2.5.1 in ./venv/lib/python3.8/site-packages (from readme-renderer>=21.0->twine->django-oscar-api==3.1.0) (2.11.2)
Requirement already satisfied: SecretStorage>=3.2; sys_platform == "linux" in ./venv/lib/python3.8/site-packages (from keyring>=15.1->twine->django-oscar-api==3.1.0) (3.3.1)
Requirement already satisfied: jeepney>=0.4.2; sys_platform == "linux" in ./venv/lib/python3.8/site-packages (from keyring>=15.1->twine->django-oscar-api==3.1.0) (0.7.1)
Requirement already satisfied: python-dateutil>=2.4 in ./venv/lib/python3.8/site-packages (from Faker>=0.7.0->factory-boy<3.3,>=3.0->django-oscar>=3.0->django-oscar-api==3.1.0) (2.8.2)
Requirement already satisfied: webencodings in ./venv/lib/python3.8/site-packages (from cssselect2>=0.2.0->svglib->easy_thumbnails->django-oscar-api==3.1.0) (0.5.1)
Requirement already satisfied: packaging in ./venv/lib/python3.8/site-packages (from bleach>=2.1.0->readme-renderer>=21.0->twine->django-oscar-api==3.1.0) (21.3)
Requirement already satisfied: cryptography>=2.0 in ./venv/lib/python3.8/site-packages (from SecretStorage>=3.2; sys_platform == "linux"->keyring>=15.1->twine->django-oscar-api==3.1.0) (36.0.2)
Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in ./venv/lib/python3.8/site-packages (from packaging->bleach>=2.1.0->readme-renderer>=21.0->twine->django-oscar-api==3.1.0) (3.0.7)
Requirement already satisfied: cffi>=1.12 in ./venv/lib/python3.8/site-packages (from cryptography>=2.0->SecretStorage>=3.2; sys_platform == "linux"->keyring>=15.1->twine->django-oscar-api==3.1.0) (1.15.0)
Requirement already satisfied: pycparser in ./venv/lib/python3.8/site-packages (from cffi>=1.12->cryptography>=2.0->SecretStorage>=3.2; sys_platform == "linux"->keyring>=15.1->twine->django-oscar-api==3.1.0) (2.21)
ERROR: django-oscar 3.1 has requirement django<3.3,>=2.2, but you'll have django 4.0.3 which is incompatible.
Installing collected packages: backports.zoneinfo, Django, django-oscar-api
Attempting uninstall: django-oscar-api
Found existing installation: django-oscar-api 3.1.0
Uninstalling django-oscar-api-3.1.0:
Successfully uninstalled django-oscar-api-3.1.0
Running setup.py develop for django-oscar-api
Successfully installed Django-4.0.3 backports.zoneinfo-0.2.1 django-oscar-api
python sandbox/manage.py migrate
Traceback (most recent call last):
File "sandbox/manage.py", line 13, in
main()
File "sandbox/manage.py", line 10, in main
execute_from_command_line(sys.argv)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/management/init.py", line 446, in execute_from_command_line
utility.execute()
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/management/init.py", line 440, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/management/base.py", line 414, in run_from_argv
self.execute(*args, **cmd_options)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/management/base.py", line 460, in execute
output = self.handle(*args, **options)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/management/base.py", line 98, in wrapped
res = handle_func(*args, **kwargs)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/management/commands/migrate.py", line 91, in handle
self.check(databases=[database])
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/management/base.py", line 487, in check
all_issues = checks.run_checks(
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/checks/registry.py", line 88, in run_checks
new_errors = check(app_configs=app_configs, databases=databases)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/checks/urls.py", line 42, in check_url_namespaces_unique
all_namespaces = _load_all_namespaces(resolver)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/core/checks/urls.py", line 61, in _load_all_namespaces
url_patterns = getattr(resolver, "url_patterns", [])
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/utils/functional.py", line 49, in get
res = instance.dict[self.name] = self.func(instance)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/urls/resolvers.py", line 696, in url_patterns
patterns = getattr(self.urlconf_module, "urlpatterns", self.urlconf_module)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/utils/functional.py", line 49, in get
res = instance.dict[self.name] = self.func(instance)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/urls/resolvers.py", line 689, in urlconf_module
return import_module(self.urlconf_name)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/mhb/Documents/oscarapi/sandbox/urls.py", line 8, in
path('api/', include('oscarapi.urls')),
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/urls/conf.py", line 38, in include
urlconf_module = import_module(urlconf_module)
File "/usr/lib/python3.8/importlib/init.py", line 127, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 1014, in _gcd_import
File "", line 991, in _find_and_load
File "", line 975, in _find_and_load_unlocked
File "", line 671, in _load_unlocked
File "", line 848, in exec_module
File "", line 219, in _call_with_frames_removed
File "/home/mhb/Documents/oscarapi/oscarapi/urls.py", line 19, in
) = get_api_classes(
File "/home/mhb/Documents/oscarapi/oscarapi/utils/loading.py", line 26, in get_api_classes
return oscarapi_class_loader(module_label, classnames, "oscarapi")
File "/home/mhb/Documents/oscarapi/oscarapi/utils/loading.py", line 10, in oscarapi_class_loader
default_module = _import_module(default_module_name, classnames)
File "/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/oscar/core/loading.py", line 140, in _import_module
return import(module_label, fromlist=classnames)
File "/home/mhb/Documents/oscarapi/oscarapi/views/basket.py", line 1, in
from django.utils.translation import ugettext_lazy as _
ImportError: cannot import name 'ugettext_lazy' from 'django.utils.translation' (/home/mhb/Documents/oscarapi/venv/lib/python3.8/site-packages/django/utils/translation/init.py)
make: *** [Makefile:14: sandbox] Error 1

it turned out the django version specified in setup.py was causing this.

I’m sorry but the error you get has nothing to do with the minimum requirement of Django specified as 2.2.x but with the installed Django version on your system (4) which is not compatible yet with oscarapi.

You should install Django 2.2.x or 3.2 before installing oscarapi.

I’ll release a Django 4 compatible version when Oscar is doing as well.

See also the compatible Django versions in the django-oscar and django-oscar-api documentation.

@maerteijn I don't really get it because I was using a brand new virtualenv without a previous django installation.

@tofubit That is because we only defined a minimum version of Django and not a maximum version. So it will install the latest version of Django available which is version 4.

Install django-oscar in your virtualenv first which has the correct maximum version defined, then install the oscarapi sandbox and all will be fine.