Django встановлено, але не може імпортувати django в python


14

Я встановив Django декількома способами, через apt-getі pip install. Всі вони кажуть, що у мене є остання версія Джанго. Тепер, коли я запускаю python в Terminal і набираю імпорт django, я отримую

ImportError: No module named django

Однак, коли бігаю, django-admin --versionотримую

1.4.3

Я знаю, що він встановлений, але чому python не знаходить модуль django?


Ви встановили Python вручну?
Ігнасіо Васкес-Абрамс

Якщо чесно, я не пам'ятаю.
jason328

Відповіді:


7

pythonне знаходить, djangoтому що це не на його шляху. Ви можете побачити список шляхів pythonшукає модулі, такі:

$ python
>>> import sys
>>> sys.path

Ви можете імпортувати, djangoякщо знайдете встановлене місце розташування, і додати це місцезнаходження до pythonшляху, наприклад, наприклад:

$ PYTHONPATH=/path/to/django/parent/dir python
>>> import django  # should work now

Але ваша справжня проблема полягає в тому, що з вашою pythonустановкою щось не так . Якщо ви встановили pythonІ І І, djangoвикористовуючи apt-get, то, djangoбезумовно, слід на pythonшляху без брудних злому, як вище.

Однак, під час роботи з Django найкраще зробити НЕ використовувати, apt-getа створити віртуальне середовище за допомогою virtualenv(ви можете встановити virtualenvсебе за допомогою apt-get), а також встановити Django та інші модулі, які ваш сайт Django може знадобитися pipу віртуальному середовищі. Таким чином, ви можете мати декілька проектів Django поруч, саме з модулями Python та необхідними версіями. Це зробити лише кілька додаткових кроків, але, безумовно, варто це і позбавить вас від багатьох розчарувань у майбутньому.


Ви також можете додати шлях до свого коду безпосередньо за допомогою sys.path.append ('шлях / до / django'), а потім імпортувати як звичайне
NGRhodes

@NGRhodes Шляхи жорсткого кодування в коді не є хорошою ідеєю.
janos

завжди можна прочитати шлях з елемента конфігурації, так що його час виконання :)
NGRhodes

4

У мене була така ж проблема, коли я використовував PyCharm Community Edition для створення проектів Django.

Для мене спрацювали наступні кроки:

Виявляється, python хоче, щоб ви створили віртуальне середовище, встановили в ньому django, а потім запустили сервер. Зробити це,

Створіть віртуальне середовище

1) Встановіть віртуальне середовище за допомогою pip install virtualenv.

2) Перейдіть до папки проекту та введіть virtualenv env(Ось envназва віртуального середовища.) Це створить нову папку, названу envвсередині папки проекту.

3) Перейдіть до env/Scriptsпапки проекту за допомогою .cd env/Scripts

4) Введіть activateі натисніть Enter. Це повинно запустити віртуальне середовище. Ви можете підтвердити це так, як це було б встановлено до вашого поточного шляху.(env)

Встановіть Django

1) Потрапивши у віртуальне середовище, поверніться до папки проекту за допомогою cd ../..та введіть pip install django.

2) Ви можете перевірити його встановлення, ввівши django-admin --version. Він повинен відображати номер версії django, встановлений у віртуальному середовищі.

Тепер введіть, python manage.py runserverщоб запустити сервер python.


0

Якщо у вашій машині встановлена ​​кілька версій python. Різні пакети, які ви намагаєтеся встановити, конфліктують. Отже, найкращим підходом є використання virtualenv ..

  1. Просте встановлення віртуального середовища та версії python
  2. використовувати virtualenv env для створення віртуальноїсередовища.
  3. активуйте свою віртуолв. використовуючи. / env_name / bin / activate
  4. використовувати pip install django == 1,70 (вкажіть версію для встановлення django)
  5. список піп, щоб перелічити всі встановлені пакети.

0

У мене є ця проблема, і досі вона до цього часу в моєму проекті vscode не розпізнавала моє віртуальне середовище, тому коли-небудь я намагаюся запустити проект, це дає мені помилку, що vscode не може імпортувати django

виправлення цього для мене, що я експортував бібліотеки у моє віртуальне середовище для заповнення

pip freeze > req.txt

тоді я створив нове віртуальне середовище з тими ж вимогами, і воно спрацювало

Примітка: спробуйте знайти це віртуальне середовище python


0

Я зіткнувся з тією ж проблемою. Я активував віртуальне середовище $ source bin / activate

після цього він показав мені версію Джанго

Не було потреби нічого встановлювати.


mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: Немає модуля з іменем django

mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --версія

Команда 'django-admin' не знайдена, але може бути встановлена ​​за допомогою:

sudo apt встановити python-django-common

mamata @ mamta-inspire-all: ~ / dodjango $ source bin / activate

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ ls

bin включають lib lib64 мамусит pyvenv.cfg share

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ django-admin - версія 2.2.5

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --версія 2.2.5



Спробуйте відредагувати відповідь за допомогою довідки AskUbuntu.
НІМІШАН

-1

У мене ця проблема виникла, коли я перейменував папку проекту в PyCharm.

  1. Вкладка терміналів перестала потрапляти у віртуальне середовище ( venvпапку). Щоб виправити це, я пішов до Settings -> Project -> ProjectПерекладача і змінив там папку.
  2. Джанго "зник". django-admin --versionне відповів. Для виправлення я зробив pip install djangoвсередині venv.

Це допомогло.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.