Нет модуля с именем django.core - PullRequest
66 голосов
/ 23 ноября 2008

Я обновил до последней версии Django 1.0.2 после удаления моей старой версии Django. Но теперь, когда я запускаю django-admin.py, я получаю следующую ошибку Как я могу решить эту проблему?

Traceback (most recent call last):
  File "C:\Python25\Lib\site-packages\django\bin\django-admin.py", line 2, in <module>
    from django.core import management
ImportError: No module named django.core

Ответы [ 25 ]

1 голос
/ 10 марта 2011

Самое простое, но не самое элегантное решение - скопировать django-admin.py из папки Scripts. Папка Scripts будет находиться под вашей установкой Python. На моем компьютере это в C: \ Python26 \ Scripts. Затем вставьте django-admin.py в папку, из которой вы пытаетесь запустить файл. Это правда, что использование системного пути даст гибкость. Это особое решение, если вы спешите. Затем введите, например, python django-admin.py startproject fluffyteaspoons, и вы создадите проект fluffyteaspoons

1 голос
/ 23 марта 2012

Я знаю, что это старый вопрос, но у меня была такая же проблема, в моем случае это произошло потому, что я использую virtualenv с django, но расширения файлов .py в Windows связаны с основной установкой Python, поэтому запуск django-admin.py осуществляется непосредственно из командной строки, поэтому он запускается с основной Установка Python без установленного django.

Итак, так как я не знаю, есть ли в Windows какой-нибудь эквивалент хеш-фунта, я обошел это, запустив python с полным путем django-admin.py, или вы также можете изменить пакетный скрипт virtualenv, чтобы изменить ассоциации файлов и измените его обратно, когда вы деактивируете его (хотя я не уверен, как это сделать, так как я не очень знаком с пакетным скриптом).

Надеюсь, это поможет,

1 голос
/ 01 августа 2013

Это произошло со мной, потому что я запустил pip как sudo, в то время как мой virtualenv настроен так, чтобы не импортировать внешние пакеты сайта, поэтому Django был установлен для пользователя root, но не в virtualenv, хотя у меня была активирована virtualenv, когда побежал sudo.

Решение переключиться на root, активировать venv и выполнить установку в pip.

1 голос
/ 27 января 2013

Я только что получил тот же ImportError в Windows Vista с установленными Python 2.7 и 3.2 и использованием virualenv с Python 2.7 и Django 1.4.3.

Я изменил ассоциацию файлов .py в Проводнике с 3.2 на 2.7. Щелкните правой кнопкой мыши файл .py и измените настройки. Я все еще получил ошибку ImportError.

Я запустил cmd.exe в качестве администратора и скопировал ранее ftype материал. После ошибки заметил, что двойные кавычки неправильно копируются из браузера в cmd. Переписал команду в cmd, но я все еще получил ошибку ImportError.

В корне виртуальной среды actived я явно дал команду python и оттуда путь к django-admin.py. (env_p27) C:\Users\Gemmu\env_p27>python .\Scripts\django-admin.py startproject mysite

Это сработало.

Спасибо за помощь всем.

1 голос
/ 25 сентября 2012

Это работало на Mac OS X

В терминале запускается python В питоне: импорт системы print sys.path

Найдите путь к пакетам сайта. Я нашел это в выводе sys.path: «/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'

выход из питона. Найдите, где находятся ваши текущие пакеты сайтов. Мои были в /Library/Python/2.6/site-packages

Теперь будьте осторожны: проверьте содержимое пакетов сайта, чтобы убедиться, что оно пустое. То есть каталог /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages должен быть пустым или просто содержать файл readme. Если это так, удалите этот каталог, потому что вы собираетесь создать символическую ссылку.

ln -s /Library/Python/2.6/site-packages /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

Если вы не удалите папку, вы поместите символическую ссылку в папку.

Другие варианты - добавить путь к sys.path. Я выбрал маршрут символической ссылки, потому что у меня есть несколько версий Python, я не хочу нескольких версий Django и просто хотел указать на известную рабочую копию.

1 голос
/ 27 мая 2010

Если ваши переменные пути правильные и из оболочки python вы можете сделать это: из управления импортом django.core, убедитесь, что вы включили «python» перед «django-admin.py» как таковой: python django-admin. пи стартпроект малолеток

1 голос
/ 16 декабря 2011

В моем случае, я на OS X Lion и я установил Python с homebrew Я получал ту же ошибку, но ни одно из решений, размещенных здесь, не помогло мне. В моем случае мне просто нужно было отредактировать скрипт:

vim /usr/local/share/python/django-admin.py

И я заметил, что первая строка была неправильной, так как она указывала на установку Python системы:

#!/usr/bin/python

Я просто изменил его, чтобы он указывал на установку homebrew:

#!/usr/local/bin/python

И это сработало:)

0 голосов
/ 27 декабря 2013

Я понял, что это произошло, потому что я не бегал python setup.py install. Это настройка среды.

0 голосов
/ 15 сентября 2010

Спасибо за размещение вопроса и ответов. У меня установлены две версии Python, но root указывал на версию / usr / bin, и я хотел использовать версию Python 2.7 в / usr / local / bin. После восстановления / переустановки Django и mysqldb все хорошо, и я не получаю сообщение об ошибке.

0 голосов
/ 01 января 2011

Небольшое быстрое исправление - просто создать символическую ссылку ln -s $SOMEWHERE/lib/python2.6/site-packages/django/ ./django

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...