Django diinstal, tetapi tidak dapat mengimpor Django dengan python

14

Saya telah menginstal Django beberapa cara, melalui apt-getdan pip install. Mereka semua mengatakan saya memiliki versi terbaru Django. Sekarang setiap kali saya menjalankan python di Terminal dan mengetikkan impor Django, saya terima

ImportError: No module named django

Namun, ketika saya menjalankan django-admin --versionsaya menerima

1.4.3

Saya tahu ini terinstal, tetapi mengapa python tidak menemukan modul Django?

jason328
sumber
Apakah Anda menginstal Python secara manual?
Ignacio Vazquez-Abrams
Sejujurnya, saya tidak ingat.
jason328

Jawaban:

7

pythontidak menemukan djangokarena tidak pada jalurnya. Anda dapat melihat daftar lintasan pythonmencari modul seperti ini:

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

Anda dapat mengimpor djangojika Anda menemukan lokasi itu diinstal, dan menambahkan lokasi itu ke pythonjalur, misalnya seperti ini:

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

Tetapi masalah Anda yang sebenarnya adalah ada yang salah dengan pythoninstalasi Anda . Jika Anda telah menginstal keduanya pythonDAN djangomenggunakan apt-get, maka djangotentu harus pythondi jalan tanpa peretasan kotor seperti di atas.

Yang mengatakan, ketika bekerja dengan Django, taruhan terbaik Anda adalah TIDAK menggunakan apt-gettetapi membuat lingkungan virtual menggunakan virtualenv(Anda dapat menginstal virtualenvsendiri menggunakan apt-get), dan menginstal Django dan modul lain yang mungkin perlu menggunakan situs Django Anda pipdalam lingkungan virtual. Dengan begitu Anda dapat memiliki beberapa proyek Django berdampingan, dengan tepat modul dan versi Python yang diperlukan. Ini hanya beberapa langkah tambahan yang harus dilakukan, tetapi pasti sepadan dan akan menyelamatkan Anda dari banyak frustrasi di masa depan.

janos
sumber
Anda juga dapat menambahkan ke jalur secara langsung dalam kode Anda dengan menggunakan sys.path.append ('path / to / django'), lalu impor seperti biasa
NGRhodes
@NGRhodes Hardcoding path dalam kode bukanlah ide yang baik.
janos
selalu dapat membaca path dari item konfigurasi sehingga pengaturan runtime :)
NGRhodes
4

Saya memiliki masalah yang sama ketika saya menggunakan Edisi Komunitas PyCharm untuk membuat proyek Django.

Bagi saya, langkah-langkah berikut ini berhasil:

Ternyata python ingin Anda membuat lingkungan virtual, instal Django di dalamnya dan kemudian jalankan server. Untuk melakukan ini,

Buat Lingkungan Virtual

1) Instal lingkungan virtual menggunakan pip install virtualenv.

2) Arahkan ke folder proyek dan ketik virtualenv env(Berikut envadalah nama lingkungan virtual.) Ini akan membuat folder baru bernama envdi dalam folder proyek.

3) Navigasikan ke env/Scriptsdalam Folder Proyek Anda menggunakan .cd env/Scripts

4) Ketik activatedan tekan Enter. Ini harus memulai lingkungan virtual. Anda dapat memverifikasi ini karena akan diawali ke jalur Anda saat ini.(env)

Instal Django

1) Setelah masuk ke dalam lingkungan virtual, kembali ke folder proyek Anda menggunakan cd ../..dan ketik pip install django.

2) Anda dapat memverifikasi pemasangannya dengan mengetik django-admin --version. Seharusnya menampilkan nomor versi Django yang diinstal di dalam lingkungan virtual.

Sekarang ketik python manage.py runserveruntuk memulai server python.

Sourav Samanta
sumber
0

Jika Anda memiliki beberapa versi python yang diinstal ke mesin Anda. Paket berbeda yang Anda coba instal menjadi konflik. Jadi, pendekatan terbaik adalah menggunakan virtualenv ..

  1. Sederhana menginstal lingkungan virtual dan versi python
  2. gunakan virtualenv env untuk membuat virtualenvironment.
  3. aktifkan virtualenv Anda. menggunakan. / env_name / bin / aktifkan
  4. gunakan pip install django == 1.70 (sebutkan versi untuk menginstal django)
  5. daftar pip untuk mendaftar semua paket yang diinstal.
Suman Astani
sumber
0

saya punya masalah ini dan masih memilikinya hingga baru-baru ini di vscode proyek saya tidak mengenali lingkungan virtual saya, jadi ketika saya mencoba menjalankan proyek itu memberi saya kesalahan bahwa vscode tidak dapat mengimpor django

perbaikan untuk ini bagi saya bahwa saya mengekspor perpustakaan di lingkungan virtual saya ke isi

pip freeze > req.txt

kemudian saya menciptakan lingkungan virtual baru dengan persyaratan yang sama, dan itu berhasil

catatan: coba cari ini lingkungan virtual python

Salah mohamed
sumber
0

Saya menghadapi masalah yang sama. Saya mengaktifkan lingkungan virtual $ source bin / aktifkan

setelah itu ia menunjukkan kepada saya versi Django

Tidak perlu menginstal apa pun.


mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: Tidak ada modul bernama django

mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --version

Perintah 'django-admin' tidak ditemukan, tetapi dapat diinstal dengan:

sudo apt install python-django-common

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

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

bin termasuk share lib lib64 mamusite pyvenv.cfg

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ django-admin --version 2.2.5

(dodjango) mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version 2.2.5


Mamumath
sumber
Coba edit jawabannya dengan bantuan AskUbuntu.
NIMISHAN
-1

Saya punya masalah ini ketika saya mengganti nama folder proyek di PyCharm.

  1. Tab terminal berhenti masuk ke Lingkungan Virtual ( venvfolder). Untuk memperbaikinya, saya pergi ke Settings -> Project -> ProjectInterpreter dan mengubah folder di sana.
  2. Django "menghilang". django-admin --versiontidak merespon. Untuk memperbaikinya, saya lakukan pip install djangodi dalam venv.

Itu membantu.

tivnet
sumber