Форум сайта python.su
Проект разрабатывался под FreeBSD. База данных - MySQL. Веб-серверы - Apache и Nginx
Пытаюсь поднять его на локальной мак оси, выдает ошибку:
Traceback (most recent call last): File "manage.py", line 4, in <module> import settings # Assumed to be in the same directory. File "/Users/user/DJANGO/project/settings.py", line 145, in <module> logging.config.fileConfig(LOGGING_CONFIG) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/config.py", line 78, in fileConfig handlers = _install_handlers(cp, formatters) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/config.py", line 156, in _install_handlers h = klass(*args) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 902, in __init__ StreamHandler.__init__(self, self._open()) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/logging/__init__.py", line 925, in _open stream = open(self.baseFilename, self.mode) IOError: [Errno 2] No such file or directory: '/var/logs/django/project.log'
Офлайн
No such file or directory: '/var/logs/django/project.log'
Офлайн
С этим разобралась, теперь
__import__(name) ImportError: Import by filename is not supported.
Офлайн
wadadaaa
здесь же написано, нельзя импортировать модуль по имени файла , т.е. __import__('/tmp/module1.py') не сработает. Как исправить это - зависит от того что у вас там за код. М.б. вы в принципе идете не правильным путем.
Офлайн
wadadaaa у вас проблема не с Django, а с тем, что вы не умеете анализировать сообщения об ошибках, которые вам выдаёт система. Например “ImportError: Import by filename is not supported” - что это значит? Вбиваем в гугл и смотрим, что это значит. А как посмотреть данные в вомент возникновения ошибки? Смотрим трейсбек, какой файл, какая строка - вбиваем в этот файл в эту строку import pdb; pdb.set_trace() и анализируем состояние системы в момент ошибки.
Офлайн
Можете ли рассказать мне, на данном примере трайсбека, как искать и понимать ошибки?
Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/core/management/__init__.py", line 459, in execute_manager utility.execute() File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/core/management/__init__.py", line 382, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/core/management/__init__.py", line 261, in fetch_command klass = load_command_class(app_name, subcommand) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/core/management/__init__.py", line 69, in load_command_class module = import_module('%s.management.commands.%s' % (app_name, name)) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/core/management/commands/runserver.py", line 8, in <module> from django.core.servers.basehttp import AdminMediaHandler, run, WSGIServerException, get_internal_wsgi_application File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/core/servers/basehttp.py", line 26, in <module> from django.views import static File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/views/static.py", line 95, in <module> template_translatable = ugettext_noop(u"Index of %(directory)s") File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 75, in gettext_noop return _trans.gettext_noop(message) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/utils/translation/__init__.py", line 48, in __getattr__ if settings.USE_I18N: File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/utils/functional.py", line 184, in inner self._setup() File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/conf/__init__.py", line 42, in _setup self._wrapped = Settings(settings_module) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/conf/__init__.py", line 128, in __init__ logging_config_module = importlib.import_module(logging_config_path) File "/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/utils/importlib.py", line 35, in import_module __import__(name) ImportError: Import by filename is not supported.
Офлайн
ImportError: Import by filename is not supported - вбиваем в гугл и читаем, что люди пишут об этой ошибке, читаем о её природе, как она влияет на мир, как жить с этой ошибкой, каким богам молиться и какие жертвы приносить, чтобы она больше не возникала.
Дальше смотрим трейсбек и видим:
File “/Users/user/.virtualenvs/project/lib/python2.7/site-packages/django/utils/importlib.py”, line 35, in import_moduleСтавим в этом файле import pdb; pdb.set_trace() перед строчкой номер 35 и смотрим, что в переменной name, далее пытаемся понять, как получилось, что в этой переменной образовалось такой значение, которое питон не может переварить. Можно дебажить состояние системы и выше по трейсбеку. В принципе, нажав “u” в php-сессии вы попадёте на один уровень выше (на одну строчку выше в вашем трейсбеке) в текущем стэке вызовов и сможете посмотреть состояние системы на этом уровне
__import__(name)
Отредактировано lorien (Март 11, 2014 19:18:48)
Офлайн