Odd.

If you run python3.6 and enter in the interpreter:

    import datetime

it works?

Graham

> On 14 Jun 2018, at 3:50 pm, 'Rajeev Jain' via modwsgi 
> <[email protected]> wrote:
> 
> 
> On Jun 13, 2018, at 10:42 PM, Graham Dumpleton <[email protected] 
> <mailto:[email protected]>> wrote:
> 
> How did you install Python 3.6?
> 
> followed instructions here:
> https://askubuntu.com/questions/889535/how-to-install-pip-for-python-3-6-on-ubuntu-16-10
>  
> <https://askubuntu.com/questions/889535/how-to-install-pip-for-python-3-6-on-ubuntu-16-10>
> 
> Let's suppose that you have a system running Ubuntu 16.04, 16.10, or 17.04, 
> and you want Python 3.6 to be the default Python.
> 
> If you're using Ubuntu 16.04 LTS, you'll need to use a PPA:
> 
> sudo add-apt-repository ppa:jonathonf/python-3.6  # (only for 16.04 LTS)
> Then, run the following (this works out-of-the-box on 16.10 and 17.04):
> 
> sudo apt update
> sudo apt install python3.6
> sudo apt install python3.6-dev
> sudo apt install python3.6-venv
> wget https <https://bootstrap.pypa.io/get-pip.py>:// 
> <https://bootstrap.pypa.io/get-pip.py>bootstrap 
> <https://bootstrap.pypa.io/get-pip.py>. 
> <https://bootstrap.pypa.io/get-pip.py>pypa 
> <https://bootstrap.pypa.io/get-pip.py>. 
> <https://bootstrap.pypa.io/get-pip.py>io 
> <https://bootstrap.pypa.io/get-pip.py>/ 
> <https://bootstrap.pypa.io/get-pip.py>get 
> <https://bootstrap.pypa.io/get-pip.py>- 
> <https://bootstrap.pypa.io/get-pip.py>pip 
> <https://bootstrap.pypa.io/get-pip.py>. 
> <https://bootstrap.pypa.io/get-pip.py>py 
> <https://bootstrap.pypa.io/get-pip.py>
> sudo python3.6 get-pip.py
> sudo ln -s /usr/bin/python3.6 /usr/local/bin/python3
> sudo ln -s /usr/local/bin/pip /usr/local/bin/pip3
> 
> # Do this only if you want python3 to be the default Python
> # instead of python2 (may be dangerous, esp. before 2020):
> # sudo ln -s /usr/bin/python3.6 /usr/local/bin/python
> When you have completed all of the above, each of the following shell 
> commands should indicate Python 3.6.1 (or a more recent version of Python 
> 3.6):
> 
> python --version   # (this will reflect your choice, see above)
> python3 --version
> $(head -1 `which pip` | tail -c +3) --version
> $(head -1 `which pip3` | tail -c +3) --version
> 
> 
> This is running on a local Ubuntu 16.04 computer. 
> 
> python
> Python 3.6.5 (default, May  3 2018, 10:08:28) 
> [GCC 5.4.0 20160609] on linux
> Type "help", "copyright", "credits" or "license" for more information.
> >>> import math
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> Unless that is a very up to date Ubuntu version, which I would doubt AWS 
> would be using if this is one of their images, you would need to install it 
> from source code. Installing Python from source code yourself can be a bit 
> tricky on Linux as the default configure options aren't what you need. Also 
> not a good idea to install from Python source code into system directories as 
> it is then hard to extract it out if you need to remove it.
> 
>> On 14 Jun 2018, at 3:33 pm, Rajeev Jain <[email protected] 
>> <mailto:[email protected]>> wrote:
>> 
>> Latest update:
>> 
>> No virtual environment. Python3.6 is now installed into the system folder:
>> 
>> python location:
>> /etc/apache2/sites-available$ python --version
>> Python 3.6.5
>> 
>> python
>> Python 3.6.5 (default, May  3 2018, 10:08:28) 
>> [GCC 5.4.0 20160609] on linux
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import sys
>> >>> print(sys.prefix)
>> /usr
>> 
>> Flask location:
>> >>> import flask
>> >>> print(flask.__file__)
>> /usr/local/lib/python3.6/dist-packages/flask/__init__.py
>> 
>> mod_wsgi-express module-config
>> LoadModule wsgi_module 
>> "/usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so"
>> WSGIPythonHome "/usr"
>> 
>> cat wsgi.load 
>> LoadModule wsgi_module 
>> /usr/local/lib/python3.6/dist-packages/mod_wsgi/server/mod_wsgi-py36.cpython-36m-x86_64-linux-gnu.so
>>  
>> 
>> /etc/apache2/sites-available$ cat FlaskApp.conf 
>> <VirtualHost *:83>
>> 
>>     ServerName flaskapp.com <http://flaskapp.com/>
>> 
>>     WSGIDaemonProcess flaskapp.com <http://flaskapp.com/> python-home=/usr 
>> python-path=/var/www/FlaskApp
>> 
>>     WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi 
>> process-group=flaskapp.com <http://flaskapp.com/> application-group=%{GLOBAL}
>> 
>>     <Directory /var/www/FlaskApp/>
>>     <Files flaskapp.wsgi>
>>     Require all granted
>>     </Files>
>>     </Directory>
>> 
>> </VirtualHost>
>> 
>> /etc/apache2/mods-available$ cat wsgi.conf
>> <IfModule mod_wsgi.c>
>> 
>>     WSGIRestrictEmbedded On
>> 
>> </IfModule>
>> 
>> Testing:
>> curl -sH 'Host: flaskapp.com <http://flaskapp.com/>' localhost:83|grep title
>> <title>500 Internal Server Error</title>
>> 
>> tail -l /var/log/apache2/error.log
>> [Wed Jun 13 22:18:08.678744 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]     from werkzeug.exceptions import abort
>> [Wed Jun 13 22:18:08.678749 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]   File 
>> "/usr/local/lib/python3.6/dist-packages/werkzeug/__init__.py", line 151, in 
>> <module>
>> [Wed Jun 13 22:18:08.678752 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]     __import__('werkzeug.exceptions')
>> [Wed Jun 13 22:18:08.678756 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]   File 
>> "/usr/local/lib/python3.6/dist-packages/werkzeug/exceptions.py", line 67, in 
>> <module>
>> [Wed Jun 13 22:18:08.678759 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]     from werkzeug._internal import _get_environ
>> [Wed Jun 13 22:18:08.678764 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]   File 
>> "/usr/local/lib/python3.6/dist-packages/werkzeug/_internal.py", line 15, in 
>> <module>
>> [Wed Jun 13 22:18:08.678766 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]     from datetime import datetime, date
>> [Wed Jun 13 22:18:08.678771 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]   File "/usr/lib/python3.6/datetime.py", line 8, in <module>
>> [Wed Jun 13 22:18:08.678773 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590]     import math as _math
>> [Wed Jun 13 22:18:08.678786 2018] [wsgi:error] [pid 3095] [remote 
>> 127.0.0.1:57590] ModuleNotFoundError: No module named 'math'
>> 
>> Running FlaskApp on its own:
>> /var/www/FlaskApp/FlaskApp$ python __init__.py 
>>  * Serving Flask app "__init__" (lazy loading)
>>  * Environment: production
>>    WARNING: Do not use the development server in a production environment.
>>    Use a production WSGI server instead.
>>  * Debug mode: off
>>  * Running on http://127.0.0.1:5000/ <http://127.0.0.1:5000/> (Press CTRL+C 
>> to quit)
>> 127.0.0.1 - - [13/Jun/2018 22:25:23] "GET / HTTP/1.1" 200 -
>> 127.0.0.1 - - [13/Jun/2018 22:25:23] "GET /favicon.ico HTTP/1.1" 404 -
>> 
>> curl -sH 'Host: flaskapp.com <http://flaskapp.com/>' localhost:5000
>> Hello, this is running from flasK!
>> 
>> As you can see the FlaskApp is running fine.
>> Python and all modules are now installed in system locations and they are 
>> running fine.
>> Apache2 is running fine. I have 2 other virtualhosts running serving 
>> php/html pages
>> 
>> Still WSGI is still not setup correctly.
>> 
>> I'm shocked at the lack of decent documentation to get WCGI enabled on a 
>> Apache2 server. What am I missing??
> 
> There is a whole web site on it at:
> 
> http://modwsgi.readthedocs.io/en/develop/ 
> <http://modwsgi.readthedocs.io/en/develop/>
> 
> It just doesn't cover the specifics of particular ways that Linux distros 
> need things done because they depart from standard conventions for Apache and 
> do things their own way. Lot of work to document how every different Linux 
> distro does it.
> 
>> Don't you have some basic test code or files one can run to verify the WSGI 
>> is setup correctly?
> 
> Usually if you can get the WSGI hello world program working you are good.
> 
> * 
> http://modwsgi.readthedocs.io/en/develop/user-guides/quick-configuration-guide.html
>  
> <http://modwsgi.readthedocs.io/en/develop/user-guides/quick-configuration-guide.html>
> 
> There are various checks you can run in:
> 
> * 
> http://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html
>  
> <http://modwsgi.readthedocs.io/en/develop/user-guides/checking-your-installation.html>
> 
> This more for when debugging issues when things don't work.
> 
> Graham
> 
>> 
>> Please advise.
>> --Rajeev
>> 
>> 
>>  
>> 
>> -- 
>> 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 post to this group, send email to [email protected] 
>> <mailto:[email protected]>.
>> Visit this group at https://groups.google.com/group/modwsgi 
>> <https://groups.google.com/group/modwsgi>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> 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 post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/modwsgi 
> <https://groups.google.com/group/modwsgi>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.
> 
> 
> -- 
> 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 post to this group, send email to [email protected] 
> <mailto:[email protected]>.
> Visit this group at https://groups.google.com/group/modwsgi 
> <https://groups.google.com/group/modwsgi>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
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 post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to