Django instalado, pero no puede importar django en python

14

He instalado Django de varias maneras, a través de apt-gety pip install. Todos dicen que tengo la versión más reciente de Django. Ahora, cada vez que ejecuto python en Terminal y escribo import django, recibo

ImportError: No module named django

Sin embargo, cuando corro django-admin --versionrecibo

1.4.3

Sé que está instalado, pero ¿por qué Python no encuentra el módulo django?

jason328
fuente
¿Instalaste Python manualmente?
Ignacio Vázquez-Abrams
Para ser sincero, no me acuerdo.
jason328

Respuestas:

7

pythonno encuentra djangoporque no está en su camino. Puedes ver la lista de caminospython busca módulos como este:

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

Puede importar djangosi encuentra la ubicación donde está instalado y agregar esa ubicación apython la ruta, por ejemplo, así:

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

Pero su verdadero problema es que algo está mal con su pythoninstalación. Si ha instalado ambos pythonY djangousando apt-get, entonces djangociertamente debería estar en pythonel camino sin hacks sucios como los anteriores.

Dicho esto, cuando trabajas con Django, tu mejor opción es NO usar apt-getsino crear un entorno virtual usando virtualenv(puedes instalarlo virtualenvusando apt-get) e instalar Django y otros módulos que tu sitio de Django podría necesitar usar pipdentro del entorno virtual. De esa manera, puede tener varios proyectos de Django en paralelo, con los módulos y las versiones de Python que requiere. Son solo algunos pasos adicionales que hacer, pero definitivamente vale la pena y lo salvará de mucha frustración en el futuro.

janos
fuente
También puede agregar a la ruta directamente en su código usando sys.path.append ('ruta / a / django'), luego importar como normal
NGRhodes
@NGRhodes Las rutas de codificación en código no son una buena idea.
janos
Siempre se puede leer la ruta de un elemento de configuración por lo que su configuración de un tiempo de ejecución :)
NGRhodes
4

Tuve el mismo problema cuando estaba usando PyCharm Community Edition para hacer proyectos de Django.

Para mí, los siguientes pasos funcionaron:

Resulta que python quiere que crees un entorno virtual, instales django y luego ejecutes el servidor. Para hacer esto,

Crear un entorno virtual

1) Instalar entorno virtual utilizando pip install virtualenv.

2) Navegue a la carpeta del proyecto y escriba virtualenv env(Aquí envestá el nombre del entorno virtual). Esto creará una nueva carpeta nombrada envdentro de la carpeta del proyecto.

3) Navegue hacia el env/Scriptsinterior de su Carpeta de proyecto usando .cd env/Scripts

4) Escriba activatey presione Entrar. Esto debería iniciar el entorno virtual. Puede verificar esto como prefijo su ruta actual.(env)

Instalar Django

1) Una vez dentro del entorno virtual, regrese a la carpeta de su proyecto usando cd ../..y escribapip install django .

2) Puede verificar su instalación escribiendo django-admin --version . Debería mostrar el número de versión de django instalado dentro del entorno virtual.

Ahora escriba python manage.py runserverpara iniciar el servidor python.

Sourav Samanta
fuente
0

Si tiene varias versiones de Python instaladas en su máquina. Los diferentes paquetes que está intentando instalar entran en conflicto. Por lo tanto, el mejor enfoque es usar virtualenv ..

  1. Instalación simple de entorno virtual y versión de Python
  2. use virtualenv env para crear un entorno virtualenv.
  3. activa tu virtualenv. utilizando . / env_name / bin / enable
  4. use pip install django == 1.70 (especifique la versión para instalar django)
  5. pip list para enumerar todos los paquetes instalados.
Suman Astani
fuente
0

Tengo este problema y todavía lo tenía hasta hace poco en mi proyecto vscode no reconocía mi entorno virtual, por lo que cada vez que intento ejecutar el proyecto me da un error de que vscode no puede importar django

la solución para esto para mí es que exporté las bibliotecas en mi entorno virtual a un relleno

pip freeze > req.txt

luego creé un nuevo entorno virtual con los mismos requisitos, y funcionó

nota: intente buscar este entorno virtual de Python

Mohamed Salah
fuente
0

Me enfrenté al mismo problema. Activé el entorno virtual $ source bin / enable

después de eso me mostró la versión de Django

No hubo necesidad de instalar nada.


mamata @ mamta-inspire-all: ~ / dodjango $ python -m django --version / usr / bin / python: Ningún módulo llamado django

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

El comando 'django-admin' no se encuentra, pero se puede instalar con:

sudo apt install python-django-common

mamata @ mamta-inspire-all: ~ / dodjango $ fuente bin / activar

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

bin incluye lib lib64 mamusite pyvenv.cfg compartir

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

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


mamumath
fuente
Intenta editar la respuesta con ayuda de AskUbuntu.
NIMISHAN
-1

Tengo este problema cuando cambié el nombre de la carpeta del proyecto en PyCharm.

  1. La pestaña Terminal dejó de entrar en el entorno virtual ( venvcarpeta). Para arreglar eso, fui alSettings -> Project -> Project intérprete y cambié la carpeta allí.
  2. Django "desapareció". django-admin --versionno respondió. Para arreglarlo, lo hice pip install djangodentro del venv.

Eso ayudo.

tivnet
fuente