Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

722
Views
500 error interno del servidor mod_wsgi apache "importerror: ningún módulo llamado 'django'

Problemas al ejecutar django y apache2/mod_wsgi. Sigo recibiendo 500 Error interno del servidor. He probado muchas combinaciones de correcciones a las que ninguna ha funcionado. Cualquier ayuda es muy apreciada. Esta es mi configuración:

 Ubuntu 16.04 django 1.10.5 apache 2.4.18 python 3.4(virtualenv) libapache2-mod-wsgi-py3

Mi estructura de carpetas es:

 /home/user/site/venv (virtualenv folder) bin include lib /home/user/site/mysite |- manage.py static mysite |__init__.py |settings.py |urls.py |wsgi.py

sitio.conf

 <VirtualHost *:80> WSGIDaemonProcess myproject python-home=/home/user/site/venv python-path=/home/user/site/mysite WSGIProcessGroup myproject WSGIScriptAlias / /home/user/site/mysite/mysite/wsgi.py Alias /static /home/user/site/mysite/static <Directory /home/user/site/mysite/static> Require all granted </Directory> <Directory /home/user/site/mysite/mysite> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost>

wsgi.py

 import os from django.core.wsgi import get_wsgi_application os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mysite.settings") application = get_wsgi_application()

apache2/error.log

 [mpm_event:notice] [pid 8908:tid 140560009164672] AH00491: caught SIGTERM, shutting down [wsgi:warn] [pid 9047:tid 139761898837888] mod_wsgi: Compiled for Python/3.5.1+. [wsgi:warn] [pid 9047:tid 139761898837888] mod_wsgi: Runtime using Python/3.5.2. [mpm_event:notice] [pid 9047:tid 139761898837888] AH00489: Apache/2.4.18 (Ubuntu) mod_wsgi/4.3.0 Python/3.5.2 configured -- resuming normal operations [core:notice] [pid 9047:tid 139761898837888] AH00094: Command line: '/usr/sbin/apache2' [wsgi:error] [pid 9049:tid 139761776183040] mod_wsgi (pid=9049): Target WSGI script '/home/user/site/mysite/mysite/wsgi.py' cannot be loaded as Python module. [wsgi:error] [pid 9049:tid 139761776183040] mod_wsgi (pid=9049): Exception occurred processing WSGI script '/home/user/site/mysite/mysite/wsgi.py'. [wsgi:error] [pid 9049:tid 139761776183040] Traceback (most recent call last): [wsgi:error] [pid 9049:tid 139761776183040] File "/home/user/site/mysite/mysite/wsgi.py", line 12, in <module> [wsgi:error] [pid 9049:tid 139761776183040] from django.core.wsgi import get_wsgi_application [wsgi:error] [pid 9049:tid 139761776183040] ImportError: No module named 'django'

He dado los permisos a las carpetas a continuación:

 sudo chown -R www-data:www-data /home/user/site/venv sudo chown -R www-data:www-data /home/user/site/mysite

Cualquier ayuda o crítica me encantaría gracias de antemano.

about 4 years ago · Santiago Trujillo
3 answers
Answer question

0

Así que después de un intenso cabezazo contra la pared. Resulta que necesitaba compilar mi propio mod_wsgi para la versión de python que estaba usando. Estaba usando el repositorio estándar para ubuntu libapache2-mod-wsgi-py3 que está compilado para usar con python3.5.2 como se muestra en mi error.log.

Fui aquí para obtener la versión más actualizada: mod_wsgi_releases

asegúrese de usar el siguiente comando al instalar mod_wsgi

.configure --with-python=/your/virtualenv/bin/python(your python_verion here)

about 4 years ago · Santiago Trujillo Report

0

Intenta usar algo como esto. Solo para confirmar, ¿ myproject es el grupo de usuarios?

 WSGISocketPrefix /var/run/wsgi WSGIPythonPath /home/user/site/venv/lib/python2.7/site-packages WSGIDaemonProcess ec2-user processes=1 WSGIProcessGroup ec2-user WSGIScriptAlias / /home/user/site/mysite/mysite/wsgi.py
about 4 years ago · Santiago Trujillo Report

0

mod_wsgi es la causa de este error porque el módulo mod_wsgi en el código C se vincula a la biblioteca de Python. Por lo tanto, la versión de Python para la que se compila está integrada en el módulo. No solo ejecuta el programa python. Esto significa que debe compilarse para la versión de Python que desea usar. No puede forzarlo a través de un entorno virtual para usar una versión de Python diferente [fuente] .

Por lo tanto, debe desinstalar el módulo mod_wsgi (probablemente el sistema operativo empaquetado) e instalar mod_wsgi usted mismo desde el código fuente, compilándolo con la versión de Python que desea usar.

Siga los pasos a continuación para corregir el error:

  1. desinstalar mod_wsgi [fuente] :
 sudo rm /usr/lib/apache2/modules/mod_wsgi.so
  1. hacer compilaciones personalizadas de Python y mod_wsgi nosotros mismos [fuente] :
 ## A.requirements: sudo apt update sudo apt install build-essential checkinstall sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev sudo apt install libffi-dev ## B.build mod_wsgi: apt install apache2 apache2-dev wget https://github.com/GrahamDumpleton/mod_wsgi/archive/4.7.1.tar.gz tar xvfz 4.7.1.tar.gz cd mod_wsgi-4.7.1 ./configure --with-python=[your python path] ## for example: ./configure --with-python=/usr/bin/python3.7 sudo make sudo make install

Puede usar which python3.7 para encontrar la ruta del archivo de Python

  1. recarga apach2:
 sudo systemctl reload apache2
about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!