Нет модуля с именем django.core
Я обновил до последней версии 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
Ответы
Ответ 1
Вы должны убедиться, что django находится в вашем PYTHONPATH.
Чтобы проверить, просто выполните import django
из оболочки python. Не должно быть выхода:
ActivePython 2.5.1.1 (ActiveState Software Inc.) based on
Python 2.5.1 (r251:54863, May 1 2007, 17:47:05) [MSC v.1310 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import django
>>>
Если вы установили django через setuptools
(easy_install
или с помощью setup.py
, включенного в django), тогда проверьте site-packages
, если файл .pth
(easy-install.pth
, django.pth
,...) укажите правильную папку.
Е.И.В..
Ответ 2
У меня такая же проблема для Windows, и, похоже, я нашел проблему. У меня установлены как 2.7, так и 3.x. Кажется, что это связано с ассоциированной программой .py:
В командной строке:
assoc.py
и результат:
.py = Python.File
что означает .py связано с Python.File
то я попробовал это:
ftype Python.File
Я получил:
Python.File = "C:\Python32\python.exe" "% 1" % *
что означает, что в командной строке .py связан с моей установкой Python 3.2 - и поэтому я не могу просто набрать "django-admin.py blah blah" для использования django.
ВСЕ, что вам нужно сделать, это изменить ассоциацию:
ftype Python.File = "C:\Python27\python.exe" "% 1" % *
тогда все в порядке!
Ответ 3
Вы можете обойти эту проблему, предоставив полный путь к файлу django-admin.py
python c:\python25\scripts\django-admin.py startproject mysite
Ответ 4
Сегодня я столкнулся с этой проблемой, оказалось, что у меня был C:\Python26 на моем пути, и .py файлы были связаны с Python 3.1. Восстановление правильной версии Python с помощью программ и функций или путем запуска .msi будет исправлять ассоциации.
Ответ 5
Это была проблема переменной среды PYTHONPATH для меня, как и другие, упомянутые выше, но никто не показал, как установить ее для людей, которые могли бы использовать дополнительную инструкцию.
Linux (bash)
Я установил эту переменную в мой файл bashrc в моей домашней папке (.bashrc - это файл для меня, так как моя оболочка есть /bin/ bash).
vim ~/.bashrc
export PYTHONPATH=/usr/local/python-2.7.2/lib/python2.7/site-packages:$PYTHONPATH
source ~/.bashrc
Путь должен быть где бы ни находился источник django. Mine находится по адресу /usr/local/python -2.7.2/lib/python2.7/site-packages/django, поэтому я просто указал /usr/local/python -2.7.2/lib/python2.7/site- пакеты без части django.
OSX
В OSX путь /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
, и вы можете добавить его в /etc/profile
:
sudo echo "PYTHONPATH=/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages:$PYTHONPATH" >> /etc/profile
source /etc/profile
Ответ 6
Я уверен, что это связано с чем-то неправильным в моей настройке, но у меня такая же проблема, и она работает правильно, если я так называю это
c:\somedir>python c:\Python26\scripts\django-admin.py startproject mysite
Ответ 7
Если вы используете Windows, то не запускайте его с помощью 'django-admin.py', так как это вызовет ваш внешний python.exe для выполнения и не сможет прочитать в django внутри виртуальной среды. Попробуйте "python django-admin.py", чтобы использовать ваш python.exe внутри вашей среды.
Ответ 8
Это сработало для меня с битнами djangostack:
python apps\django\django\bin\django-admin.py startproject mysite
Ответ 9
У меня была такая же проблема в windows xp. Причина в том, что я установил несколько версий python (2.6.3.2).windows PATH правильно установлен на python26, но .py файл связан с python32. Я хочу, чтобы файл .py был связан с python26.Чтобы решить эту проблему, простой способ - щелкнуть правой кнопкой мыши по *.py(например, django-admin.py), выбрать "открыть с" → "выбрать программу..." → "Browse..." (выберите c:\python26\python.ext) → "Ok". Затем мы можем запустить django-admin.py в cmd без необходимости расширительного префикса "c:\python26\lib\site-packages\django\bin".
Ответ 10
У меня была такая же проблема и напомнил, что я установил iPython вчера днем. Я удалил iPython, и проблема исчезла. Кстати, я работаю с virtualenv. Я установил iPython в общесистемный каталог сайтов-пакетов, поэтому я просто переустановил iPython внутри каждого виртуального файла, который я использую. После установки iPython вчера я заметил предупреждение (начиная с версии 0.13 iPython), что обнаружил, что я использую virtualenv, и что если у меня возникнут какие-либо проблемы, я должен установить iPyton внутри каждого виртуального файла.
Ответ 11
Если ваши переменные пути верны и из оболочки python вы можете сделать: из управления импортом django.core убедитесь, что вы включили "python" перед "django-admin.py" как таковой: python django-admin. py startproject thelittlethings
Ответ 12
Простейшим решением, хотя и не самым элегантным, является копирование django-admin.py из папки Scripts. Папка Scripts будет найдена под вашей установкой Python. На моем компьютере он находится в C:\Python26\Scripts. Затем вставьте django-admin.py в папку, из которой вы пытаетесь запустить файл.
Это правда, что использование системного пути даст гибкость. Это особое решение, если вы спешите. Затем введите, например, python django-admin.py startproject fluffyteaspoons, и вы создадите проект fluffyteaspoons
Ответ 13
В моем случае я на OS X Lion, и я установил Python с homebrew
Я получал ту же ошибку, но ни одно из решений, опубликованных здесь, не помогло мне. В моем случае мне просто пришлось отредактировать script:
vim /usr/local/share/python/django-admin.py
И я заметил, что первая строка была неправильной, поскольку она указывала на установку системы python:
#!/usr/bin/python
Я только что изменил его, чтобы указать на домашнюю установку:
#!/usr/local/bin/python
И это сработало:)
Ответ 14
Я знаю, что это старый вопрос, но у меня была такая же проблема,
в моем случае это связано с тем, что я использую virtualenv с django, но .py расширения файлов в Windows связаны с основной установкой Python, поэтому запуск django-admin.py осуществляется непосредственно из командной строки, заставляя ее запускаться с основным Установка Python без установки django.
Итак, поскольку я не знаю, есть ли в Windows какой-либо эквивалент хэша-фунта, я работал над этим, запустив python, за которым следует полный путь django-admin.py, или вы также можете изменить пакет virtualenv script изменить ассоциации файлов и изменить их обратно при его деактивации (хотя я не уверен, как это сделать, поскольку я не очень хорошо знаком с пакетом script).
Надеюсь, что это поможет,
Ответ 15
Это работало на Mac OS X
В терминальном запуске python
В python: import sys print sys.path
Найдите путь пакетов сайтов. Я нашел это в выводе sys.path:
'/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages'
выйти из python. Найдите, где находятся ваши текущие пакеты сайтов. Мои были в /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 и просто хочу указать на известную рабочую копию.
Ответ 16
Я только что получил тот же 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.
В корне активированной виртуальной среды я явно дал команду python
и путь к django-admin.py оттуда.
(env_p27) C:\Users\Gemmu\env_p27>python .\Scripts\django-admin.py startproject mysite
Это сработало.
Спасибо за помощь всем.
Ответ 17
Это случилось со мной, потому что я запускал pip
как sudo
, в то время как мой virtualenv настроен так, чтобы не импортировать пакеты внешних сайтов, поэтому Django был установлен для пользователя root, но не в virtualenv, хотя я активировал virtualenv, когда я побежал sudo.
Решение переключиться на root, активировать venv, а затем установить pip.
Ответ 18
Как обычно, установить script не удалось установить права на чтение/выполнение в мире:)
Сделайте это:
sudo find /usr/lib/python2.5/site-packages/django -type d -exec chmod go+rx {} \;
sudo find /usr/lib/python2.5/site-packages/django -type f -exec chmod go+r {} \;
Ответ 19
Спасибо за сообщение вопроса и ответов. У меня есть две версии Python, но root указывает на версию /usr/bin, и я хотел использовать версию Python версии 2.7 в каталоге /usr/local/bin. После восстановления/переустановки Django и mysqldb все хорошо, и я не получаю ошибку.
Ответ 20
Небольшое быстрое исправление - это просто создать символическую ссылку ln -s $SOMEWHERE/lib/python2.6/site-packages/django/ ./django
Ответ 21
У меня была та же проблема, было ясно, что у меня проблема с конфигурацией PYTHONPATH
. Решение довольно просто, просто создайте файл с этим именем django.pth
в каталоге PYTHONHOME\Lib\site-packages
, где PYTHONHOME
- это каталог, в котором установлен Python (мой: C:\Python27). Добавьте следующую строку в файл django.pth
:
PYTHONHOME\Lib\site-packages\django
Конечно, вы должны изменить PYTHONHOME
на свой каталог установки Python, как я объяснил.
Обратите внимание, что вы можете редактировать django.pth
, чтобы включить любой каталог, который вы хотите включить в PYTHONPATH
. Фактически вы можете назвать этот файл по своему желанию, path.pth
, например, если вы хотите, чтобы он был более общим и включал несколько путей к каталогам.
Ответ 22
Хорошо.. Я делаю что-то радикальное. Я unistall python и я удаляю из среды Variables/PATH this: ;C:\Python26\Scripts;C:\Python26.
И его работа...
Раньше у меня была ваша проблема.
Ответ 23
Я понял, что это произошло, потому что я не запускал python setup.py install
. Это настройка среды.
Ответ 24
Чтобы понять, что lichenbo сказал... Если вы используете Windows, то не запускайте его с помощью 'django-admin.py'..
Я запускаюсь внутри виртуальной среды, поэтому путь и команда для создания нового проекта выглядят следующим образом:
(DjangoEnv) C:\users\timreilly\Envs\django\Scripts\django-admin.exe startproject myproject
DjangoEnv - это имя моей виртуальной среды.
Ответ 25
Прочитав много, я нашел решение, которое работает для меня.
У меня
django version 1.9.2
-
Задайте всю системную переменную в "пути". Не дублируйте копию в пользовательской переменной, а также в PYTHONPATH.
![введите описание изображения здесь]()
-
Затем установите значение в regedit
![введите описание изображения здесь]()
-
сделал virtualenv в желаемой папке командой
virtualenv VENV
-
И, наконец, в cmd
команда
django-admin.py startproject MySite
***and not this***
python django-admin.py startproject MySite
в корневой папке "VENV"
И он работал