Django 1.9a1 __init__.py отображается в eclipse / PyDev, хотя его необходимо удалить (Windows)

У меня странное поведение здесь:

Я просто обновил Django 1.9.4 от Django 1.9a1, используя pip. Установка прошла нормально, и Django работал бесперебойно, но во время запуска он все еще показывал номер версии «1.9a1».

Просто чтобы убедиться, что я удалил Django снова с помощью pip и подтвердил, что мои папки django больше не существуют в C: \ Program Files (x86) \ Python 3.5 \ lib \ site-packages (ни «django», ни «Django-1.9» .4 ").

После запуска сервера я с удивлением прочитал сообщение об ошибке

from django.core.management import execute_from_command_line File "C:\Program Files (x86)\Python 3.5\lib\site-packages\django\__init__.py", line 1, in <module> from django.utils.version import get_version ImportError: No module named 'django.utils' 

Я ожидал, что ошибка будет чем-то вроде «пакет django not found» или аналогичный. Поскольку eclipse предоставляет имя файла как ссылку, я нажал на него, затмение открыло файл с содержимым

 from django.utils.version import get_version VERSION = (1, 9, 0, 'alpha', 1) __version__ = get_version(VERSION) [...] 

Я дважды проверял, что этот файл недоступен через командную строку и через проводник Windows.

Где находится этот файл и как я могу избавиться от него? Или он генерируется автоматически (и, если да, как я могу исправить этот механизм)

Или я пропущу что-то совершенно очевидное?

Дополнительная информация: Я заново установил файл Django 1.9.4 и init .py, расположенный в папке C: \ Program Files (x86) \ Python 3.5 \ lib \ site-packages \ django__init __. Py показывает правильную информацию о версии. Но все же, если я запустил проект Django, информация о версии будет равна 1.9a1.

Даже когда я открываю приглашение cmd и вводим

 python -c "import django; print(django.get_version())" 

ответ 1.9a1

Обновление 2016-03-13 17:57: я удалил снова и использовал явное == 1.9.4, предложенное alecxe. Это решило часть проблемы: теперь, если я открою командную строку,

 python -c "import django; print(django.get_version())" 

дает правильный ответ (1.9.4). Но в Eclipse / PyDev мой проект больше не запускается. Первое сообщение об ошибке:

 Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x03F72108> Traceback (most recent call last): File "C:\Program Files (x86)\Python 3.5\lib\site-packages\django\apps\config.py", line 118, in create cls = getattr(mod, cls_name) AttributeError: module 'django.contrib' has no attribute 'admin' 

Конечно, admin модуль существует в файловой системе.

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

 django-admin startproject mysite 

и новый проект успешно создан.

Когда я использую PyDev внутри Eclipse для запуска нового проекта (используя «новый» / «PyDev Django Project»), процесс завершается с ошибкой! Создаются каталог проекта, а также manage.py, но каталог проекта пуст (нет init .py, settings.py, urls.py, wsgi.py).

Похоже, что Eclipse / PyDev не использует правильную установку django, хотя все указанные имена файлов являются правильными. Может быть, какое-то кэширование? И да, я снова запустил Eclipse после повторной установки.

Дополнительная информация 2016-03-14 17:44: я только что заново запустил свой компьютер, и, как ни удивительно, мои затмения теперь смогли снова запустить мой проект – ошибка, описанная выше, исчезла, НО номер версии django снова отобразился в 1.9a1! Теперь я python -c "import django; print(django.get_version())" командную строку и python -c "import django; print(django.get_version())" снова дал мне 1.9a1! Что я сделал дальше, так это снова запустить командную строку в качестве администратора и – tataa – я получил 1.9.4.

Таким образом, проблема, похоже, связана с правами администратора, которые могут быть связаны с установкой python в C:\Program Files (x86)\Python 3.5 . Я использовал консольное окно с правами администратора для всех установочных папок / удалений, описанных выше. Есть ли механизм окон, который мог бы объяснить это поведение?

Решение 2016-03-14 18:17: теперь я искал весь мой диск C: для папок, содержащих «django», и нашел его в

C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5\Lib\site-packages\django

и – неожиданный сюрприз – он содержал файл init.py с неправильным номером версии. Поэтому мне кажется, что я установил 1.9a1 без привилегий администратора, и eclipse всегда использовало эту версию, так как она запускается без прав администратора. После некоторых исследований о Windows VirtualStore я решил вручную удалить всю C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5 .

Сразу же после этого мое cmd-окно показало мне версию 1.9.4, независимую от администратора или не-администратора. И – самое главное – когда я запустил проект django в eclipse, он также показал правильный номер версии. Чтобы быть уверенным, я создал новый проект django с помощью мастера PyDev, и все файлы проекта были созданы правильно.

Итак, в итоге проблема возникла из-за предыдущей установки django без прав администратора, за которой последовала установка django с правами администратора. Ответственным механизмом был Windows VirtualStore, а не Eclipse или PyDev.

Я оставлю все описание моего Одиссея, как есть, возможно, это помогает кому-то найти тему. Я дам короткий краткий ответ ниже.

2 Solutions collect form web for “Django 1.9a1 __init__.py отображается в eclipse / PyDev, хотя его необходимо удалить (Windows)”

Длинная история описана выше, короткий ответ таков:

У меня была дополнительная установка django в C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5\Lib\site-packages\django . Это было связано с установкой версии 1.9a1 без прав администратора.

Поскольку eclipse также обращался к django без прав администратора, он использовал устаревшую версию, а не недавнюю, которая была установлена ​​с помощью usind pip с настройками администратора.

Я удалил C:\Users\[my_username]\AppData\Local\VirtualStore\Program Files (x86)\Python 3.5 и после перезагрузки eclipse все сработало.

То, что я помню, помогло мне в аналогичном случае – полностью удалить Django и снова установить его:

 pip uninstall django pip install django==1.9.4 

Вам также может потребоваться проверить и вручную удалить каталог django и файл яйца, если он оставлен в каталоге C:\Program Files (x86)\Python 3.5\lib\site-packages после удаления django через pip .

  • компилировать libdnet для python 2.7
  • Самый быстрый способ сделать снимок экрана с помощью python на окнах
  • Почему мое сообщение Protobuf усекается только при отправке из окна Windows в ящик Linux?
  • Ошибка импорта файла .pyd (как модуля python) из файла .pyo
  • Как вызвать конкретную версию Python WITHIN для скрипта.py - Windows
  • Компилятор HTMLHelp отлично работает из командной строки, но не запускается из сценария или пакетного файла
  • Использование службы определения местоположения Windows в скрипте Python
  • Как я могу извлечь граф вызовов функции из исходных файлов Python?
  • Python - лучший язык программирования в мире.