Satchmo clonesatchmo.py ImportError: невозможно импортировать имя execute_manager
Я получаю satchmo, чтобы попробовать, но у меня есть большая проблема с первой попытки, и я не понимаю, что случилось.
Когда я делаю $ python clonesatchmo.py
в прозрачном проекте django, он вызывает ошибку:
$ python clonesatchmo.py
Creating the Satchmo Application
Customizing the files
Performing initial data synching
Traceback (most recent call last):
File "manage.py", line 18, in <module>
from django.core.management import execute_manager
ImportError: cannot import name execute_manager
Traceback (most recent call last):
File "manage.py", line 18, in <module>
from django.core.management import execute_manager
ImportError: cannot import name execute_manager
Error: Can not copy the static files.
Error: Can not syncdb.
И создает папку хранилища.
пробовать smth как это работает!!:
$ python manage.py shell
>>> import os, sys
>>> print sys.executable
/some/path/to/python
>>> os.system('bash')
$ /some/path/to/python manage.py validate
# this is NOT fail on "from django.core.management import execute_manager"
У меня есть Django 1.6 и Satchmo 0.9.3, python 2.7.5
(Я не использую virtualenv)
Ответы
Ответ 1
execute_manager
был помещен на путь устаревания как часть рефакторирования макета проекта в Django 1.4 https://docs.djangoproject.com/en/1.4/releases/1.4/#django-core-management-execute-manager. В политике устаревания это означает, что код для execute_manager
полностью удален в 1.6. Если вы видите эту ошибку импорта, то версия Satchmo, которую вы используете, не была обновлена, чтобы быть совместимой с Django 1.6.
Ответ 2
Замените содержимое manage.py следующим (из нового проекта django 1.6).
#!/usr/bin/env python
import os
import sys
if __name__ == "__main__":
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "<app>.settings")
from django.core.management import execute_from_command_line
execute_from_command_line(sys.argv)