Ошибка: нет модуля с именем staticfiles в django 1.3.1 + python 2.6? в чем дело - PullRequest
1 голос
/ 28 декабря 2011

Я когда-то не работал над проектом django, а сейчас возвращаюсь и не могу над ним работать. Когда я отлаживаю или запускаю в eclipse aptana, я получаю сообщение об ошибке «Ошибка: модуль с именем staticfiles».

  • Я даже обновил aptana до сегодняшних обновлений, и не повезло.
  • Я удалил django, удалил все файлы и переустановил.
  • Если я импортирую django с python в cmd (на окнах), он находится в том месте, где я ожидаю

Но если я удаляю строку "'django.contrib.staticfiles'" в "INSTALLED_APPS" из settings.py, все работает нормально, но у меня нет доступа к статическим файлам, как и ожидалось ..

В те дни я установил Google app engine + python 2.5; может ли это быть проблемой и как ее решить?

большое спасибо *

1 Ответ

3 голосов
/ 28 декабря 2011

Вот шаги, которые я бы предпринял, чтобы выяснить проблему:

  • убедитесь, что она работает правильно в командной строке (cmd.exe в windows) - просто для устранения проблем, связанных сс Аптана.Вам нужно сделать что-то вроде: C: \ Path \ to \ Python2.6 \ python.exe manage.py runserver (NB: выберите любую команду управления, которая проверит ваш settings.py).Если это приводит к той же ошибке, то у вас не установлен Django 1.3.1 в Python2.6 (вы можете установить его или установить новый virtualenv, см. Ниже)
  • , как только вычтобы это работало в командной строке, вам просто нужно убедиться, что aptana использует правильный путь интерпретатора.Вы должны убедиться, что вы определили его правильно (в ваших глобальных настройках (в настройках рабочей области) - Pydev Python-интерпретатор), а затем используете его в конкретном проекте - (проверьте параметры проекта, которые он использует Python-интерпретаторВы только что определили)
  • Примечание: Django 1.3.1 может использовать python2.5, но не следующую версию django

Вот как я мог бы избежать этого в будущем:

  • используйте virtualenv [1], чтобы избежать зависимости от произвольной природы истории установки (как только вы установили virtualenv в ЛЮБОЙ версии python, вы можете указать, какой python при настройке virtualenv: virtualenv -p C: \ Path \ to \ Python2.6 \ python.exe).
  • используйте virtualenv --no-site-packages, чтобы убедиться, что у вас нет локальных зависимостей
  • используйте pip [2] для установки всех ваших пакетов python (проблемы могут возникнуть с пакетами с двоичным содержимым - используйтеeasy_install для них)
  • используйте pip freeze> needs.txt для записи ваших зависимостей (и добавьте этот файл в элемент управления вашего исходного кода)

[1] http://pypi.python.org/pypi/virtualenv

[2] http://pypi.python.org/pypi/pip

Примечание: pip и easy_install автоматически устанавливаются в ваш новый virtualenv

...