Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

206
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório

0

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

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda