Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

197
Vistas
Python3.7 ImportError: ningún módulo llamado 'django'

Hace unos días decidí actualizar python de la versión 2.7 a la 3.7. Esta es mi configuración actual:

 Ubuntu 16.04 Python 3.7.7 Django 3.0.6 Apache/2.4.18

Usando el comando python -m venv --system-site-packages /var/www/path/to/myenv , creé el entorno virtual, después de la activación de este entorno, creé un nuevo proyecto. La ruta al entorno se ve así /var/www/path/to/myenv y la ruta al proyecto se ve así /var/www/path/to/myenv/myproject . La configuración de myproject.conf se ve así:

 <VirtualHost *:80> ServerName myproject.com ServerAlias www.myproject.com WSGIDaemonProcess myproject processes=2 threads=15 display-name=%{GROUP} python-home=/var/www/path/to/myenv python-path=/var/www/path/to/myenv/myproject WSGIProcessGroup candyhand WSGIScriptAlias / /var/www/path/to/myenv/myproject/myproject/wsgi.py <Directory /var/www/path/to/myenv/myproject/myproject/> <Files wsgi.py> Require all granted </Files> </Directory> <Directory /var/www/path/to/myenv/myproject/> Require all granted </Directory> CustomLog /var/www/path/to/myenv/myproject/logs/apache_access.log combined ErrorLog /var/www/path/to/myenv/myproject/logs/apache_error.log Alias /static/ /var/www/path/to/myenv/myproject/static/ <Directory /var/www/path/to/myenv/myproject/> Options Indexes MultiViews FollowSymLinks AllowOverride None Require all granted </Directory> Alias /media/ /var/www/path/to/myenv/myproject/media/ <Directory /var/www/path/to/myenv/myproject/> Options Indexes MultiViews FollowSymLinks AllowOverride None Require all granted </Directory> </VirtualHost>

Pero tengo el error 500 del servidor apache. Aquí está el registro del servidor apache:

 mod_wsgi (pid=9495): Target WSGI script '/var/www/path/to/myenv/myproject/myproject/wsgi.py' cannot be loaded as Python module. [Wed May 20 16:25:08.145621 2020] [wsgi:error] [pid 9495] mod_wsgi (pid=9495): Exception occurred processing WSGI script '/var/www/path/to/myenv/myproject/myproject/wsgi.py'. [Wed May 20 16:25:08.145788 2020] [wsgi:error] [pid 9495] Traceback (most recent call last): [Wed May 20 16:25:08.145864 2020] [wsgi:error] [pid 9495] File "/var/www/path/to/myenv/myproject/myproject/wsgi.py", line 12, in <module> [Wed May 20 16:25:08.145885 2020] [wsgi:error] [pid 9495] from django.core.wsgi import get_wsgi_application [Wed May 20 16:25:08.145945 2020] [wsgi:error] [pid 9495] ImportError: No module named 'django'

Configuré VirtualHost de acuerdo con esta documentación , pero tal vez cometí un error en alguna parte, gracias por su consejo.

El comando PS python manage.py runserver funciona bien

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Lo más probable es que el problema sea que python -m venv no genera un enable_this.py dentro de su virtualenv, consulte la documentación en https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments .html#daemon-mode-varias-aplicaciones

"Cuando necesite activar el entorno virtual de Python desde el archivo de secuencia de comandos WSGI como se describe, es preferible que utilice virtualenv o virtualenvwrapper para crear el entorno virtual de Python. Esto se debe a que ambos proporcionan el archivo de secuencia de comandos enable_this.py que hace todo el trabajo de configurar sys.path. Cuando usa pyvenv o python -m venv con Python 3, no se proporciona dicho script de activación".

EDITAR

Acabo de darme cuenta de que mod_wsgi v4.6.1 parece manejar el entorno virtual creado por python -m venv correctamente, pero mod_wsgi tiene que usar exactamente la misma versión de python que su virtualenv (mod_wsgi no toma el intérprete de python de virtualenv, solo verifique el python versión dentro de su wsgi.py para asegurarse de que mod_wsgi está usando la correcta). Si es la versión incorrecta del intérprete, debe reinstalar mod_wsgi después de actualizar su paquete global de python al número de versión correcto.

over 4 years ago · Santiago Trujillo Denunciar

0

Compruebe si ha insertado esas líneas en apache2.conf:

 WSGIPythonPath /usr/local/lib/python3.7/dist-packages WSGILazyInitialization On WSGIApplicationGroup %{GLOBAL}

¿Puede compartir wsgi.py + el comienzo del archivo de registro de apache?

over 4 years ago · Santiago Trujillo Denunciar

0

Agregue a continuación fuera de su VirtualHost: WSGIPythonHome /var/www/path/to/myenv

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda