While I am happy with the majority of this package, not sure about this
wrapper. It was designed to prevent conflicts between python-django and
python3-django.

As an example:

(wheezy)root@aquitard:~# /usr/bin/django-admin dumpdata
--settings=karaage.tests.settings
Traceback (most recent call last):
  File "/usr/lib/python2.7/dist-packages/django/bin/django-admin.py", line
5, in <module>
    management.execute_from_command_line()
  File
"/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line
399, in execute_from_command_line
    utility.execute()
  File
"/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line
392, in execute
    self.fetch_command(subcommand).run_from_argv(self.argv)
  File
"/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line
261, in fetch_command
    commands = get_commands()
  File
"/usr/lib/python2.7/dist-packages/django/core/management/__init__.py", line
107, in get_commands
    apps = settings.INSTALLED_APPS
  File "/usr/lib/python2.7/dist-packages/django/conf/__init__.py", line 54,
in __getattr__
    self._setup(name)
  File "/usr/lib/python2.7/dist-packages/django/conf/__init__.py", line 49,
in _setup
    self._wrapped = Settings(settings_module)
  File "/usr/lib/python2.7/dist-packages/django/conf/__init__.py", line
132, in __init__
    % (self.SETTINGS_MODULE, e)
ImportError: Could not import settings 'karaage.tests.settings' (Is it on
sys.path? Is there an import error in the settings file?): No module named
tests.settings

The problem is that the django-admin wrapper chose the python3 version,
but karaage.tests.settings is only available in Python2, even though I have
python3-django installed.

However, anything I do here will mean making changes from upstream.

I guess I could also try to parse the --settings or DJANGO_SETTINGS_MODULE,
try to determine automatically if the Python3 version exists. However I
think this could get very messy very quickly and probably won't work in all
cases.


This is significant for me, as I have postinst scripts that do the
following:

django-admin collectstatic --settings=kgadmin.conf.settings --noinput

Have changed that now to:

python2.7 /usr/lib/python2.7/dist-packages/django/bin/django-admin.py \
            collectstatic --settings=kgadmin.conf.settings --noinput

Can change it for new packages, not for old packages though. I don't see
any good solution for this though.

Hopefully nobody else does this :-)
-- 
Brian May <br...@microcomaustralia.com.au>

Reply via email to