Я обновился до последней версии 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
Да, я могу сделать и то, и другое без ошибок
У вас установлено несколько версий Python? Как вы вызываете django-admin?
Пожалуйста, запустите следующее: import sys; напечатать sys.path
Прошло уже полтора года, кто-нибудь придумал решение? Я тоже столкнулся с этой проблемой. -_-
После удаления всего каталога Python и повторной установки Python / django проблема исчезла.
Не забудьте запустить "python setup.py install"






Вы должны убедиться, что 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, у него, вероятно, был django в локальной папке приложения, но не было django в его пути к python.
Я уверен, что это связано с чем-то неправильным в моей настройке, но у меня такая же проблема, и она работает правильно, если я назову ее таким образом
c:\somedir>python c:\Python26\scripts\django-admin.py startproject mysite
У меня была такая же проблема, и у меня это тоже сработало ... кто-нибудь знает, почему?
Я нашел ответ, у меня python3 и python27 на одной машине, это Windows. Если я выполняю команду c: \> python в консоли, она вызывает python27, поэтому django существует, но если я выполняю сценарий python следующим образом: «c: \> test.py», он запускается с python3, поэтому ошибка (Я привык к Linux, я все еще чувствую, что потерялся в обработке окон env)
У меня есть Python 2.5 и Python 2.7. Это тоже сработало для меня! Раньше я просто выполнял cmd, django-admin.py startproject mysite, и я делал то, что написал Noad выше, но обнаружил, что моя ассоциация .py связана с Python 2.7, поэтому я не уверен, почему это особенно работает.
в windows-virtualenv необходимо использовать этот синтаксис.
Как обычно, скрипту установки не удалось установить права на чтение / выполнение для всего мира :) Сделай это:
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». Решено!
Сегодня я столкнулся с этой проблемой, оказалось, что у меня на пути был C: \ Python26, а файлы .py были связаны с Python 3.1. Восстановление правильной версии Python с помощью программ и компонентов или запуска .msi исправит ассоциации.
Для меня это тоже было проблемой. ПРИМЕЧАНИЕ: не дайте себя обмануть, если при запуске команды python отображается версия 2.X. Выполнение файла django все еще может быть связано с исполняемым файлом 3.1.
Обратите внимание, что это относится к ассоциациям файлов Windows. В Windows 7 это можно изменить, выбрав Панель управления> Программы> Программы по умолчанию> Связать файл ...
Похоже, это нельзя исправить вручную, как я думал. Аргументы командной строки не работают. Просто переустановите Python.
У меня была аналогичная проблема, когда django не мог найти библиотеку core, но проблема для меня заключалась в том, что cygwin использовал то, что я предполагаю, это встроенный python (2.6) вместо python 2.7, который я установил вне cygwin, поэтому моим решением было использовать cmd.exe вместо cygwin для django-admin.py startproject
Это сработало для меня с битнами 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
В моем случае я использую 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. Однако я хотел бы добавить к вашему решению еще один совет. Вы должны запустить командную строку от имени администратора, чтобы она работала, иначе вы получите сообщение об ошибке «Доступ запрещен».
с моей точки зрения, этот ответ наиболее полезен для новичков в Python (как и я), которые активировали virtualenv или несколько установок Python (особенно в Windows). Я бы хотел, чтобы этот ответ был в начале темы. Также я думаю, что в руководстве по Django должно быть примечание об этом случае (Python + Windows + VirtualEnv / Multiple Pythons). В первая часть учебника просто сказано ввести django-admin.py startproject mysite, что очень неявно.
Мне это тоже очень помогло .. отличный ответ !!
Потрясающий. Я также нашел блог, в котором проблема устранена без постоянного изменения ассоциации файлов. djangonautlostinspace.wordpress.com/2012/04/16/…
Я проголосовал за этот ответ, но у меня не было проблем с разными версиями python, вместо этого возник конфликт между основной установкой python и установкой на virtualenv. Ответ привел меня к решению запустить python django-admin.py вместо django-admin.py.
небольшое предостережение, ftype Python.File приведет к отказу в доступе, если вы не запустите cmd от имени администратора
Что ж .. Я делаю кое-что радикальное. Я удаляю 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
Установите все системные переменные в «путь». Никаких дубликатов копий в пользовательской переменной или в PYTHONPATH.

Затем установите значение в regedit
сделал virtualenv в нужной папке командой
virtualenv VENV
И наконец в cmd
использованная команда
django-admin.py startproject MySite
***and not this***
python django-admin.py startproject MySite
в корневой папке "ВЕНВ"
И это сработало
Похоже на "устаревший путь". Не могу сказать. Сможете ли вы успешно выполнять
import djangoи / илиfrom django.core import managementв оболочке Python?