Skip to content

Running Pytest From Repo Master #410

@TE-Good

Description

@TE-Good

Describe the problem

I installed the latest django-constance from this git repo, through the poetry command:
poetry add --git=https://github.com/jazzband/django-constance.git -v --allow-prereleases django-constance.

My issue is, when running pytest in an activated conda environment I get a the following error;

Traceback (most recent call last):
  File "/Users/tom.good/miniconda3/envs/eigen/bin/pytest", line 8, in <module>
    sys.exit(main())
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/config/__init__.py", line 58, in main
    config = _prepareconfig(args, plugins)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/config/__init__.py", line 185, in _prepareconfig
    pluginmanager=pluginmanager, args=args
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/pluggy/hooks.py", line 286, in __call__
    return self._hookexec(self, self.get_hookimpls(), kwargs)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/pluggy/manager.py", line 93, in _hookexec
    return self._inner_hookexec(hook, methods, kwargs)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/pluggy/manager.py", line 87, in <lambda>
    firstresult=hook.spec.opts.get("firstresult") if hook.spec else False,
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/pluggy/callers.py", line 203, in _multicall
    gen.send(outcome)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/helpconfig.py", line 89, in pytest_cmdline_parse
    config = outcome.get_result()
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/pluggy/callers.py", line 80, in get_result
    raise ex[1].with_traceback(ex[2])
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/pluggy/callers.py", line 187, in _multicall
    res = hook_impl.function(*args)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/config/__init__.py", line 653, in pytest_cmdline_parse
    self.parse(args)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/config/__init__.py", line 825, in parse
    self._preparse(args, addopts=addopts)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/config/__init__.py", line 777, in _preparse
    self.pluginmanager.load_setuptools_entrypoints("pytest11")
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/pluggy/manager.py", line 299, in load_setuptools_entrypoints
    plugin = ep.load()
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/importlib_metadata/__init__.py", line 96, in load
    module = import_module(match.group('module'))
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/importlib/__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 953, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "<frozen importlib._bootstrap>", line 1006, in _gcd_import
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 677, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 728, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "/Users/tom.good/miniconda3/envs/eigen/src/django-constance/constance/__init__.py", line 2, in <module>
    from . import checks
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 290, in load_module
    six.exec_(co, mod.__dict__)
  File "/Users/tom.good/miniconda3/envs/eigen/src/django-constance/constance/checks.py", line 4, in <module>
    from . import settings
  File "<frozen importlib._bootstrap>", line 983, in _find_and_load
  File "<frozen importlib._bootstrap>", line 967, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 668, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 638, in _load_backward_compatible
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/_pytest/assertion/rewrite.py", line 290, in load_module
    six.exec_(co, mod.__dict__)
  File "/Users/tom.good/miniconda3/envs/eigen/src/django-constance/constance/settings.py", line 8, in <module>
    'constance.backends.redisd.RedisBackend'
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/django/conf/__init__.py", line 79, in __getattr__
    self._setup(name)
  File "/Users/tom.good/miniconda3/envs/eigen/lib/python3.7/site-packages/django/conf/__init__.py", line 64, in _setup
    % (desc, ENVIRONMENT_VARIABLE))
django.core.exceptions.ImproperlyConfigured: Requested setting CONSTANCE_BACKEND, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings.

To compare, I installed the released 2.6 version, and with our settings configuration, we had no errors. I added this through the command: poetry add django-constance.

When running runserver on both installs, there are no errors. It seems to be isolated to pytest.

Steps to reproduce

See in above description.

System configuration

  • Django version: 2.2.13
  • Python version: 3.7
  • Django-Constance version: 2.6.0 2eb3fce

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions