Нет модуля с именем 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

Похоже на "устаревший путь". Не могу сказать. Сможете ли вы успешно выполнять import django и / или from django.core import management в оболочке Python?

ayaz 23.11.2008 17:31

Да, я могу сделать и то, и другое без ошибок

Sirish 23.11.2008 17:39

У вас установлено несколько версий Python? Как вы вызываете django-admin?

ayaz 23.11.2008 19:52

Пожалуйста, запустите следующее: import sys; напечатать sys.path

S.Lott 24.11.2008 02:34

Прошло уже полтора года, кто-нибудь придумал решение? Я тоже столкнулся с этой проблемой. -_-

nil 24.05.2010 17:46

После удаления всего каталога Python и повторной установки Python / django проблема исчезла.

nil 25.05.2010 10:57

Не забудьте запустить "python setup.py install"

LynxLee 27.12.2013 12:02
Почему в Python есть оператор "pass"?
Почему в Python есть оператор "pass"?
Оператор pass в Python - это простая концепция, которую могут быстро освоить даже новички без опыта программирования.
Некоторые методы, о которых вы не знали, что они существуют в Python
Некоторые методы, о которых вы не знали, что они существуют в Python
Python - самый известный и самый простой в изучении язык в наши дни. Имея широкий спектр применения в области машинного обучения, Data Science,...
Основы Python Часть I
Основы Python Часть I
Вы когда-нибудь задумывались, почему в программах на Python вы видите приведенный ниже код?
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
LeetCode - 1579. Удаление максимального числа ребер для сохранения полной проходимости графа
Алиса и Боб имеют неориентированный граф из n узлов и трех типов ребер:
Оптимизация кода с помощью тернарного оператора Python
Оптимизация кода с помощью тернарного оператора Python
И последнее, что мы хотели бы показать вам, прежде чем двигаться дальше, это
Советы по эффективной веб-разработке с помощью Python
Советы по эффективной веб-разработке с помощью Python
Как веб-разработчик, Python может стать мощным инструментом для создания эффективных и масштабируемых веб-приложений.
69
7
98 350
25
Перейти к ответу Данный вопрос помечен как решенный

Ответы 25

Ответ принят как подходящий

Вы должны убедиться, что 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, ...) на правильную папку.

ПРИВЕТ.

Если вы читали комментарии к его вопросу, он уже пробовал импортировать djago, и он работает.

hasen 28.11.2008 12:00

@hasen, у него, вероятно, был django в локальной папке приложения, но не было django в его пути к python.

Bjorn 20.09.2009 10:14

Я уверен, что это связано с чем-то неправильным в моей настройке, но у меня такая же проблема, и она работает правильно, если я назову ее таким образом

c:\somedir>python c:\Python26\scripts\django-admin.py startproject mysite

У меня была такая же проблема, и у меня это тоже сработало ... кто-нибудь знает, почему?

Sam 15.11.2010 22:25

Я нашел ответ, у меня python3 и python27 на одной машине, это Windows. Если я выполняю команду c: \> python в консоли, она вызывает python27, поэтому django существует, но если я выполняю сценарий python следующим образом: «c: \> test.py», он запускается с python3, поэтому ошибка (Я привык к Linux, я все еще чувствую, что потерялся в обработке окон env)

Sam 15.11.2010 22:48

У меня есть Python 2.5 и Python 2.7. Это тоже сработало для меня! Раньше я просто выполнял cmd, django-admin.py startproject mysite, и я делал то, что написал Noad выше, но обнаружил, что моя ассоциация .py связана с Python 2.7, поэтому я не уверен, почему это особенно работает.

bad_keypoints 13.03.2013 09:31

в windows-virtualenv необходимо использовать этот синтаксис.

Brent81 20.05.2013 14:49

Как обычно, скрипту установки не удалось установить права на чтение / выполнение для всего мира :) Сделай это:

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 {} \;

Вы можете обойти эту проблему, указав полный путь к вашему файлу django-admin.py

python c:\python25\scripts\django-admin.py startproject mysite

Спасибо! Но в моем случае я написал «python3» вместо «python». Решено!

Breno Medeiros de Oliveira 06.11.2020 02:43

Сегодня я столкнулся с этой проблемой, оказалось, что у меня на пути был C: \ Python26, а файлы .py были связаны с Python 3.1. Восстановление правильной версии Python с помощью программ и компонентов или запуска .msi исправит ассоциации.

Для меня это тоже было проблемой. ПРИМЕЧАНИЕ: не дайте себя обмануть, если при запуске команды python отображается версия 2.X. Выполнение файла django все еще может быть связано с исполняемым файлом 3.1.

Adam A 21.11.2010 23:16

Обратите внимание, что это относится к ассоциациям файлов Windows. В Windows 7 это можно изменить, выбрав Панель управления> Программы> Программы по умолчанию> Связать файл ...

Brian Ortiz 24.11.2010 08:28

Похоже, это нельзя исправить вручную, как я думал. Аргументы командной строки не работают. Просто переустановите Python.

Brian Ortiz 24.11.2010 08:58

У меня была аналогичная проблема, когда django не мог найти библиотеку core, но проблема для меня заключалась в том, что cygwin использовал то, что я предполагаю, это встроенный python (2.6) вместо python 2.7, который я установил вне cygwin, поэтому моим решением было использовать cmd.exe вместо cygwin для django-admin.py startproject

TankorSmash 28.03.2013 05:27

Это сработало для меня с битнами djangostack:

python apps\django\django\bin\django-admin.py startproject mysite

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

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

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

У меня была такая же проблема, было ясно, что у меня проблема с конфигурацией 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, если вы хотите, чтобы он был более общим и включал несколько путей к каталогам.

У меня была такая же проблема в windows xp. Причина в том, что я установил несколько версий python (2.6,3.2). Windows PATH правильно настроен на python26, но файл .py связан с python32. Я хочу, чтобы файл .py был связан с python26. Чтобы решить эту проблему, проще всего щелкнуть правой кнопкой мыши * .py (например, django-admin.py), выбрать «открыть с помощью» -> «выбрать программу ...» -> «Обзор ...» (выберите c: \ python26 \ python.ext) -> «ОК». Затем мы можем запустить django-admin.py в cmd без использования расширяющего префикса «c: \ python26 \ lib \ site-packages \ django \ bin».

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

Для меня это была проблема с переменной среды 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. Мой находится по адресу /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

когда я использую zsh, он показывает zsh: permission denied: /etc/profile

Deepansh Parmani 03.12.2019 14:16

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

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

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

#!/usr/bin/python

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

#!/usr/local/bin/python

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

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

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

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

У меня такая же проблема в 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" %*

тогда все в порядке!

Это очень помогло. Я была такая же проблема. Несмотря на то, что я запускаю Python и получаю версию 2.7, когда я запускаю такой файл, как C: \ test.py, версия запускала python 3.2. Однако я хотел бы добавить к вашему решению еще один совет. Вы должны запустить командную строку от имени администратора, чтобы она работала, иначе вы получите сообщение об ошибке «Доступ запрещен».

JoeMoe1984 01.09.2012 10:10

с моей точки зрения, этот ответ наиболее полезен для новичков в Python (как и я), которые активировали virtualenv или несколько установок Python (особенно в Windows). Я бы хотел, чтобы этот ответ был в начале темы. Также я думаю, что в руководстве по Django должно быть примечание об этом случае (Python + Windows + VirtualEnv / Multiple Pythons). В первая часть учебника просто сказано ввести django-admin.py startproject mysite, что очень неявно.

ajukraine 23.10.2012 23:52

Мне это тоже очень помогло .. отличный ответ !!

Tariq M Nasim 30.06.2013 00:07

Потрясающий. Я также нашел блог, в котором проблема устранена без постоянного изменения ассоциации файлов. djangonautlostinspace.wordpress.com/2012/04/16/…

phazei 14.08.2013 03:23

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

TheBlueSky 12.09.2015 11:04

небольшое предостережение, ftype Python.File приведет к отказу в доступе, если вы не запустите cmd от имени администратора

jxramos 01.03.2016 04:17

Что ж .. Я делаю кое-что радикальное. Я удаляю python и удаляю из среды Variables/PATH this: ;C:\Python26\Scripts;C:\Python26. И его работа ... У меня была твоя проблема раньше.

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

В терминале запускаем python В питоне: import sys напечатать 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, и я просто хотел указать на известную рабочую копию.

У меня была та же проблема, и я вспомнил, что накануне установил iPython. Я удалил iPython, и проблема исчезла. Кстати, я работаю с virtualenv. Я установил iPython в общесистемный каталог пакетов сайта, поэтому я просто переустановил iPython внутри каждого виртуального сервера, который я использую. После вчерашней установки iPython я заметил предупреждающее сообщение (из версии 0.13 iPython) о том, что он обнаружил, что я использую virtualenv, и что если у меня возникнут какие-либо проблемы, я должен установить iPyton внутри каждого virtualenv.

Я только что получил ту же ошибку 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

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

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

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

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

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

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

Чтобы закрепить то, что сказал лишайник ... Если вы используете Windows, то не запускайте с 'django-admin.py' ...

Я работаю в виртуальной среде, поэтому путь и команда для создания нового проекта выглядят так:

(DjangoEnv)  C:\users\timreilly\Envs\django\Scripts\django-admin.exe startproject myproject

DjangoEnv - это имя моей виртуальной среды.

Много прочитав, я нашел решение, которое мне подходит.

у меня есть

 django version 1.9.2
  1. Установите все системные переменные в «путь». Никаких дубликатов копий в пользовательской переменной или в PYTHONPATH.

  2. Затем установите значение в regedit

  1. сделал virtualenv в нужной папке командой

    virtualenv VENV

  2. И наконец в cmd

использованная команда

django-admin.py startproject MySite

***and not this***

python django-admin.py startproject MySite 

в корневой папке "ВЕНВ"

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

Другие вопросы по теме