You will need to uninstall the system package for mod_wsgi and compile mod_wsgi 
yourself against Python 3.8.

You can build/install it using 'pip install mod_wsgi' with Python 3.8 virtual 
environment activated. Then configure Apache to use it.

See:

* https://pypi.org/project/mod-wsgi/ <https://pypi.org/project/mod-wsgi/>

Graham

> On 2 Dec 2020, at 8:45 am, Anibal Xochipa <[email protected]> wrote:
> 
> This is what I get:
> 
> ls -lasd /home/pi/Andola
> 4 drwxr-xr-x 16 pi www-data 4096 nov 30 17:56 /home/pi/Andola
> 
> ls -lasd /home/pi/Andola/myDjangoEnv
> 4 drwxr-xr-x 5 pi pi 4096 nov 16 15:29 /home/pi/Andola/myDjangoEnv
> 
> ls -lasd /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django*
> 4 drwxr-xr-x 19 pi pi 4096 nov 30 15:06 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django
> 4 drwxr-xr-x  2 pi pi 4096 nov 17 18:24 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_allauth-0.42.0.dist-info
> 4 drwxr-xr-x  2 pi pi 4096 nov 17 11:35 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_appconf-1.0.4.dist-info
> 4 drwxr-xr-x  2 pi pi 4096 nov 17 18:15 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_crispy_forms-1.9.2.dist-info
> 4 drwxr-xr-x  2 pi pi 4096 nov 17 11:35 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_imagekit-4.0.2.dist-info
> 4 drwxr-xr-x  2 pi pi 4096 nov 16 16:42 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_phonenumber_field-4.0.0.dist-info
> 4 drwxr-xr-x  2 pi pi 4096 nov 17 18:10 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_tinymce-3.1.0.dist-info
> 4 drwxr-xr-x  2 pi pi 4096 nov 17 18:17 
> /home/pi/Andola/myDjangoEnv/lib/python3.8/site-packages/django_widget_tweaks-1.4.8.dist-info
> 
> My virtual environment has python 3.8 as that's the one my application needs, 
> however I think wsgi seems to be pulling python 3.7 out of somewhere.
> 
> How do I now whether I'm using the wrong version of wsgi and what can I do to 
> switch for the right one?? I've been searching some tutorials but haven't had 
> any success
> I installed wsgi using this command while my virtual environment was 
> activated:
> sudo apt-get install libapache2-mod-wsgi-py3
> 
> Thnk you for your help 
> El lunes, 30 de noviembre de 2020 a la(s) 21:26:22 UTC-6, Graham Dumpleton 
> escribió:
> Two possibility come to mind immediately.
> 
> The first is that the version of Python that mod_wsgi was compiled for is 
> different to the version of Python your virtual environment was created 
> using. You can't force mod_wsgi compiled for one Python version to use a 
> virtual environment for a different Python version.
> 
> The second is that the permissions on the Python virtual environment root 
> directory are such that the Apache user cannot access it, or that the Django 
> package directory within the site-packages directory of the Python virtual 
> environment doesn't have permissions such that Apache user can access it.
> 
> What do you get for:
> 
>     ls -lasd /home/pi/Andola
>     ls -lasd /home/pi/Andola/myDjangoEnv
>     ls -lasd /home/pi/Andola/myDjangoEnv/lib/python3.7/site-packages/django*
> 
> Graham
> 
> 
>> On 1 Dec 2020, at 2:16 pm, Anibal Xochipa <[email protected] 
>> <applewebdata://CA42766F-B3E5-410E-8A38-DF56566F6E6A>> wrote:
>> 
> 
>> I'm trying to deploy my Django app using Apache2 on a raspberry pi 4B 
>> running raspbian 10 
>> My project path looks like this 
>> /home/pi/Andola
>> Inside that folder I created a Virtual environment called MyDjangoEnv 
>> running python 3.8.2 and Django 3.0.3 so the path to the virtual environment 
>> looks like this
>> /home/pi/Andola/myDjangoEnv
>> My wsgi.py file lives inside this folder: /home/pi/Andola/AnDjo/wsgi.py , 
>> next to the settings.py  , __init__.py , etc  
>> 
>> 
>> I copied the file 000-default.conf on /etc/apache2/sites-available to 
>> another one named django_project.conf in order to configure my own site. I 
>> configured it according to Django documentation and my new file looks like 
>> this:
>> 
>> <VirtualHost *:80>
>>      # The ServerName directive sets the request scheme, hostname and port 
>> that
>>      # the server uses to identify itself. This is used when creating
>>      # redirection URLs. In the context of virtual hosts, the ServerName
>>      # specifies what hostname must appear in the request's Host: header to
>>      # match this virtual host. For the default virtual host (this file) this
>>      # value is not decisive as it is used as a last resort host regardless.
>>      # However, you must set it for any further virtual host explicitly.
>>      #ServerName www.example.com <http://www.example.com/>
>> 
>>      ServerAdmin webmaster@localhost
>>      DocumentRoot /var/www/html
>> 
>>      # Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
>>      # error, crit, alert, emerg.
>>      # It is also possible to configure the loglevel for particular
>>      # modules, e.g.
>>      #LogLevel info ssl:warn
>> 
>>      ErrorLog ${APACHE_LOG_DIR}/error.log
>>      CustomLog ${APACHE_LOG_DIR}/access.log combined
>> 
>>      # For most configuration files from conf-available/, which are
>>      # enabled or disabled at a global level, it is possible to
>>      # include a line for only one particular virtual host. For example the
>>      # following line enables the CGI configuration for this host only
>>      # after it has been globally disabled with "a2disconf".
>>      #Include conf-available/serve-cgi-bin.conf
>> 
>>      Alias /static /home/pi/Andola/static
>>      <Directory /home/pi/Andola/static>
>>              Require all granted
>>      </Directory>
>> 
>>         Alias /media /home/pi/Andola/media
>>         <Directory /home/pi/Andola/media>
>>                 Require all granted
>>         </Directory>
>> 
>>      <Directory /home/pi/Andola/AnDjo>
>>              <Files wsgi.py>
>>                      Require all granted
>>              </Files>
>>      </Directory>
>> 
>>      WSGIScriptAlias / /home/pi/Andola/AnDjo/wsgi.py
>>      WSGIDaemonProcess django_app python-path=/home/pi/Andola/ 
>> python-home=/home/pi/Andola/myDjangoEnv
>>      WSGIProcessGroup django_app
>> 
>> </VirtualHost>
>> 
>> # vim: syntax=apache ts=4 sw=4 sts=4 sr noet
>> 
>> I think I gave the propper permissions to media folder and changed the 
>> ownership  of my project folder (Andola) to www-data.
>> 
>> My Django application runs totally fine when I use python manage.py 
>> runserver but whenever I try to run apache it gives me the 500 Internal 
>> Server Error and the next shows up in the error log
>> 
>> [Mon Nov 30 20:47:16.396524 2020] [mpm_event:notice] [pid 10724:tid 
>> 3069383184] AH00491: caught SIGTERM, shutting down
>> [Mon Nov 30 20:47:16.540219 2020] [mpm_event:notice] [pid 12812:tid 
>> 3069309456] AH00489: Apache/2.4.38 (Raspbian) mod_wsgi/4.6.5 Python/3.7 
>> configured -- resuming normal operations
>> [Mon Nov 30 20:47:16.540623 2020] [core:notice] [pid 12812:tid 3069309456] 
>> AH00094: Command line: '/usr/sbin/apache2'
>> [Mon Nov 30 20:47:20.764437 2020] [wsgi:error] [pid 12813:tid 3038991392] 
>> [remote ::1:52238] mod_wsgi (pid=12813): Failed to exec Python script file 
>> '/home/pi/Andola/AnDjo/wsgi.py'.
>> [Mon Nov 30 20:47:20.764696 2020] [wsgi:error] [pid 12813:tid 3038991392] 
>> [remote ::1:52238] mod_wsgi (pid=12813): Exception occurred processing WSGI 
>> script '/home/pi/Andola/AnDjo/wsgi.py'.
>> [Mon Nov 30 20:47:20.765543 2020] [wsgi:error] [pid 12813:tid 3038991392] 
>> [remote ::1:52238] Traceback (most recent call last):
>> [Mon Nov 30 20:47:20.767301 2020] [wsgi:error] [pid 12813:tid 3038991392] 
>> [remote ::1:52238]   File "/home/pi/Andola/AnDjo/wsgi.py", line 12, in 
>> <module>
>> [Mon Nov 30 20:47:20.767372 2020] [wsgi:error] [pid 12813:tid 3038991392] 
>> [remote ::1:52238]     from django.core.wsgi import get_wsgi_application
>> [Mon Nov 30 20:47:20.767491 2020] [wsgi:error] [pid 12813:tid 3038991392] 
>> [remote ::1:52238] ModuleNotFoundError: No module named 'django'
>> 
>> I ran the scripts here 
>> https://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html
>>  
>> <https://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html>
>>  getting the next results:
>> 
>> Python Installation in use:
>> sys.version = '3.7.3 (default, Jul 25 2020, 13:03:44) \n[GCC 8.3.0]' 
>> sys.prefix = '/home/pi/Andola/myDjangoEnv'
>> 
>> Python module search path:
>> sys.path = ['/home/pi/Andola', '/usr/lib/python37.zip', 
>> '/usr/lib/python3.7', '/usr/lib/python3.7/lib-dynload']
>> 
>> Embedded or Daemon Mode
>> mod_wsgi.process_group = 'django_app'
>> 
>> Subinterpreter Being Used
>> mod_wsgi.application_group = '192.168.1.70|'
>> 
>> I can see that wsgi might not be using myDjangoEnv and a bad configuration 
>> is happening but as this is the first time I'm using wsgi and also the first 
>> time trying to make a website I've been kind of lost for the last few days 
>> /::
>> 
> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "modwsgi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected] 
>> <applewebdata://CA42766F-B3E5-410E-8A38-DF56566F6E6A>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/modwsgi/0ecac6e4-53ad-43ad-ab9e-b498775a3275n%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/modwsgi/0ecac6e4-53ad-43ad-ab9e-b498775a3275n%40googlegroups.com?utm_medium=email&utm_source=footer>.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to [email protected] 
> <mailto:[email protected]>.
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/modwsgi/f34e15a9-1913-4fb4-bdbc-3e54c4ef3640n%40googlegroups.com
>  
> <https://groups.google.com/d/msgid/modwsgi/f34e15a9-1913-4fb4-bdbc-3e54c4ef3640n%40googlegroups.com?utm_medium=email&utm_source=footer>.

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/modwsgi/E4F14722-6F12-492E-AEEF-13A59339AE9E%40gmail.com.

Reply via email to