Đã cài đặt Django, nhưng không thể nhập django bằng python


14

Tôi đã cài đặt Django nhiều cách, thông qua apt-getpip install. Họ đều nói tôi có phiên bản Django gần đây nhất. Bây giờ bất cứ khi nào tôi chạy python trong Terminal và nhập django, tôi sẽ nhận được

ImportError: No module named django

Tuy nhiên, khi tôi chạy django-admin --versiontôi nhận được

1.4.3

Tôi biết nó đã được cài đặt, nhưng tại sao python không tìm thấy mô-đun django?


Bạn đã cài đặt Python thủ công chưa?
Ignacio Vazquez-Abrams

Thành thật mà nói, tôi không nhớ.
jason328

Câu trả lời:


7

pythonkhông tìm thấy djangobởi vì nó không phải trên con đường của nó. Bạn có thể thấy danh sách các đường dẫn pythontìm các mô-đun như thế này:

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

Bạn có thể nhập djangonếu bạn tìm thấy vị trí nó được cài đặt và thêm vị trí đó vào pythonđường dẫn, ví dụ như sau:

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

Nhưng vấn đề thực sự của bạn là có gì đó không đúng với pythoncài đặt của bạn . Nếu bạn đã cài đặt cả pythonAND và djangosử dụng apt-get, thì djangochắc chắn sẽ có trên pythonđường đi mà không có các bản hack bẩn như trên.

Điều đó nói rằng, khi làm việc với Django, cách tốt nhất của bạn là KHÔNG sử dụng apt-getmà tạo môi trường ảo bằng cách sử dụng virtualenv(bạn có thể virtualenvtự cài đặt bằng cách sử dụng apt-get) và cài đặt Django và các mô-đun khác mà trang Django của bạn có thể cần sử dụng piptrong môi trường ảo. Bằng cách đó, bạn có thể có nhiều dự án Django cạnh nhau, với chính xác các mô-đun và phiên bản Python mà nó yêu cầu. Đó chỉ là một vài bước nữa để làm, nhưng chắc chắn có giá trị và sẽ cứu bạn khỏi nhiều thất vọng trong tương lai.


Bạn cũng có thể thêm vào đường dẫn trực tiếp trong mã của mình bằng cách sử dụng sys.path.append ('path / to / django'), sau đó nhập như bình thường
NGRhodes

@NGRhodes Đường dẫn mã hóa trong mã không phải là một ý tưởng tốt.
janos

luôn có thể đọc đường dẫn từ một mục cấu hình để cài đặt thời gian chạy :)
NGRhodes

4

Tôi gặp vấn đề tương tự khi tôi đang sử dụng PyCharm Community Edition để thực hiện các dự án Django.

Đối với tôi, các bước sau đây đã làm việc:

Hóa ra python muốn bạn tạo một môi trường ảo, cài đặt django trong đó và sau đó chạy máy chủ. Để làm điều này,

Tạo môi trường ảo

1) Cài đặt môi trường ảo bằng cách sử dụng pip install virtualenv.

2) Điều hướng đến thư mục dự án và gõ virtualenv env(Đây envlà tên của môi trường ảo.) Điều này sẽ tạo một thư mục mới có tên envtrong thư mục dự án.

3) Điều hướng đến env/Scriptsbên trong Thư mục dự án của bạn bằng cách sử dụng .cd env/Scripts

4) activateNhập và nhấn Enter. Điều này sẽ bắt đầu môi trường ảo. Bạn có thể xác minh điều này như được thêm tiền tố vào đường dẫn hiện tại của bạn.(env)

Cài đặt Django

1) Khi đã ở trong môi trường ảo, hãy quay lại thư mục dự án của bạn bằng cách sử dụng cd ../..và nhập pip install django.

2) Bạn có thể xác minh cài đặt của nó bằng cách gõ django-admin --version. Nó sẽ hiển thị số phiên bản django được cài đặt bên trong môi trường ảo.

Bây giờ gõ python manage.py runserverđể bắt đầu máy chủ python.


0

Nếu bạn có nhiều phiên bản python được cài đặt vào máy của bạn. Các gói khác nhau mà bạn đang cố cài đặt bị xung đột. Vì vậy, cách tiếp cận tốt nhất là sử dụng virtualenv ..

  1. Cài đặt đơn giản môi trường ảo và phiên bản python
  2. sử dụng virtualenv env để tạo môi trường ảo.
  3. kích hoạt virtualenv của bạn. sử dụng. / env_name / bin / kích hoạt
  4. sử dụng pip install django == 1.70 (chỉ định phiên bản để cài đặt django)
  5. danh sách pip để liệt kê tất cả các gói cài đặt.

0

Tôi gặp vấn đề này và vẫn còn gặp sự cố cho đến gần đây trong dự án vscode của tôi không nhận ra môi trường ảo của tôi, vì vậy, khi tôi cố chạy dự án, tôi gặp lỗi khi vscode không thể nhập django

Cách khắc phục cho tôi là tôi đã xuất các thư viện trong môi trường ảo của mình để điền vào

pip freeze > req.txt

sau đó tôi đã tạo ra một môi trường ảo mới với cùng các yêu cầu và nó đã hoạt động

lưu ý: hãy thử tìm kiếm môi trường ảo python này


0

Tôi phải đối mặt với cùng một vấn đề. Tôi đã kích hoạt môi trường ảo $ source bin / kích hoạt

sau đó nó cho tôi xem phiên bản của Django

Không cần cài đặt gì cả.


mamata @ mamta-Inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: Không có mô-đun có tên django

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

Không tìm thấy lệnh 'django-admin', nhưng có thể được cài đặt bằng:

sudo apt cài đặt python-django-chung

mamata @ mamta-Inspire-all: ~ / dodjango $ nguồn bin / kích hoạt

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

bin bao gồm lib lib64 mamusite pyvenv.cfg chia sẻ

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

(dodjango) mamata @ mamta-Inspire-all: ~ / dodjango $ python -m django - phiên bản 2.2.5



Hãy thử chỉnh sửa câu trả lời với một số trợ giúp của AskUbfox.
NIMISHAN

-1

Tôi đã gặp vấn đề này khi tôi đổi tên thư mục dự án trong PyCharm.

  1. Tab thiết bị đầu cuối đã dừng vào Môi trường ảo ( venvthư mục). Để khắc phục điều đó, tôi đã đi đếnSettings -> Project -> Project Trình thông dịch và thay đổi thư mục ở đó.
  2. Django "biến mất". django-admin --versionKhông trả lời. Để khắc phục, tôi đã làm pip install djangotrong venv.

Nó đã giúp đỡ.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.