HI, Did yu have any luck? I'm having the same exact issue.
best,
-R
 

On Thursday, May 11, 2017 at 1:34:33 PM UTC-7, Brian wrote:
>
> Graham,
>
> Thank you so much. I plan to use Anaconda for this project and so maybe 
> using another tool is best? I don't want to give up on this direction if 
> you think it will be fruitful, but maybe nginx + gunicorn + flask in a 
> conda installed env is better? I'm even considering just deploying to 
> Heroku. 
>
> Thanks again and if you have any thoughts, I'm certainly game to hear what 
> you think.
>
> Best,
> -Brian
> On Tuesday, May 9, 2017 at 7:52:04 PM UTC-6, Graham Dumpleton wrote:
>>
>> If you want to use Anaconda Python with mod_wsgi, the steps you need to 
>> follow are as follows.
>>
>> 1. Uninstall any system wide mod_wsgi package as you do not need it and 
>> it can interfere.
>>
>>      sudo apt-get uninstall libapache2-mod-wsgi
>>
>> 2. Ensure 'dev' packages for Python and Apache installed.
>>
>> 3. You are better off using virtual environment created using virtualenv 
>> rather than using a conda env. I am not sure what set up steps need to be 
>> if using conda env right now. With virtual environment created using 
>> virtualenv, activate it.
>>
>> 4. Install mod_wsgi using pip.
>>
>> 5. Run:
>>
>>     mod_wsgi-express module-config
>>
>> and take the output of this and put it in a 'wsgi.load' file in the 
>> 'mods-available' directive of your Apache installation.
>>
>> 6. Enable the Apache module. Either run:
>>
>>     sudo a2enmod wsgi
>>
>> or symlink wsgi.load in to the 'mods-enabled' directory and restart 
>> Apache.
>>
>> Verify that Apache starts up okay.
>>
>> 7. Manually configure Apache for mod_wsgi with a WSGI hello world 
>> program, restart Apache and verify that it works.
>>
>> 8. Add configuration for mod_wsgi to Apache sites file for your Flask 
>> application. Use the recommended steps for setting up a Python virtual 
>> environment as documented in:
>>
>>     
>> http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html
>>
>> Don't use 'python-path' with 'site-packages'. Use 'python-home' with the 
>> root of the Python virtual environment instead.
>>
>> See if it works.
>>
>> Would like to see you use virtualenv before we sort out what needs to be 
>> done for conda env. I can't remember right now how compatible conda env 
>> directories are with normal Python virtual environments.
>>
>> Graham
>>
>> On 9 May 2017, at 6:55 AM, Graham Dumpleton <[email protected]> 
>> wrote:
>>
>> Just read again. You are using system package for mod_wsgi, not that 
>> installed for Anaconda. You should not be using both installs. Will send 
>> back instructions later when have time.
>>
>> Graham
>>
>> On 9 May 2017, at 6:47 AM, Brian <[email protected]> wrote:
>>
>> Thanks Graham. 
>>
>> I did edit the FlaskApp.config file:
>>
>> <VirtualHost *:80>
>>                 ServerName <public ip>.us-west-2.compute.amazonaws.com
>>                 ServerAdmin ubuntu@ec2-<public ip>.
>> us-west-2.compute.amazonaws.com
>>                 WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
>>                 <Directory /var/www/FlaskApp/FlaskApp/>
>>                         Order allow,deny
>>                         Allow from all
>>                 </Directory>
>>                 Alias /static /var/www/FlaskApp/FlaskApp/static
>>                 <Directory /var/www/FlaskApp/FlaskApp/static/>
>>                         Order allow,deny
>>                         Allow from all
>>                 </Directory>
>>                 *WSGIDaemonProcess FlaskApp 
>> python-path=/home/ubuntu/anaconda3/envs/test1.0/lib/python3.6/site-packages*
>>                 ErrorLog ${APACHE_LOG_DIR}/error.log
>>                 LogLevel warn
>>                 CustomLog ${APACHE_LOG_DIR}/access.log combined
>> </VirtualHost>
>>
>>
>> And then applied following new step in the process:
>>
>> ## get apache2
>> sudo apt-get install apache2
>> sudo apt-get install apache2-dev
>>
>> ## get mod_wsgi
>> #sudo apt-get install libapache2-mod-wsgi
>> pip install mod_wsgi
>>
>> ## force load Anaconda's shared library
>> mod_wsgi-express module-config
>>
>> ## enable mod_wsgi
>> sudo a2enmod wsgi 
>>
>> ## Install and register the mod_wsgi module with Apache 
>>  <--------------------------
>> sudo `which mod_wsgi-express` install-module
>>
>> ## get git 
>> sudo apt-get install git
>>
>> ## create apache config
>> touch /etc/apache2/sites-available/FlaskApp.conf
>>
>> ## disable default config
>> sudo a2dissite 000-default
>>
>> ## provide new config
>> sudo a2ensite FlaskApp.conf
>>
>> ## start/restart apache
>> sudo service apache2 restart
>>
>>
>> The same error occurs in the log:
>>
>>  Traceback (most recent call last):
>>    File "/var/www/FlaskApp/flaskapp.wsgi", line 7, in <module>
>>      from FlaskApp import app as application
>>    File "/var/www/FlaskApp/FlaskApp/__init__.py", line 1, in <module>
>>      from flask import Flask
>>  ImportError: No module named flask
>>
>>
>> Thoughts?
>>
>> Best,
>> -Brian
>> On Monday, May 8, 2017 at 2:21:12 PM UTC-6, Graham Dumpleton wrote:
>>>
>>> Did you read:
>>>
>>>     
>>> http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html
>>>
>>> as I linked to.
>>>
>>> There is no evidence that you have added anything for a Python virtual 
>>> environment if you are using one.
>>>
>>> Graham
>>>
>>> On 9 May 2017, at 4:25 AM, Brian <[email protected]> wrote:
>>>
>>> The conda environment must not be set correctly because it can't find 
>>> flask:
>>>
>>> [Mon May 08 16:39:11.002873 2017] [:error] [pid 31696:tid 
>>> 139896253531904] [client 208.184.3.194:36413] Traceback (most recent 
>>> call last):
>>>
>>>  
>>>
>>> [Mon May 08 16:39:11.002923 2017] [:error] [pid 31696:tid 
>>> 139896253531904] [client 208.184.3.194:36413]   File 
>>> "/var/www/FlaskApp/flaskapp.wsgi", line 7, in <module> 
>>>
>>> [Mon May 08 16:39:11.002989 2017] [:error] [pid 31696:tid 
>>> 139896253531904] [client 208.184.3.194:36413]     from FlaskApp import 
>>> app as application 
>>>
>>> [Mon May 08 16:39:11.003012 2017] [:error] [pid 31696:tid 
>>> 139896253531904] [client 208.184.3.194:36413]   File 
>>> "/var/www/FlaskApp/FlaskApp/__init__.py", line 1, in <module> 
>>>
>>> [Mon May 08 16:39:11.003044 2017] [:error] [pid 31696:tid 
>>> 139896253531904] [client 208.184.3.194:36413]     from flask import 
>>> Flask 
>>>
>>> [Mon May 08 16:39:11.003081 2017] [:error] [pid 31696:tid 
>>> 139896253531904] [client 208.184.3.194:36413] ImportError: No module named 
>>> flask
>>>
>>>
>>> On Monday, May 8, 2017 at 11:45:31 AM UTC-6, Vanessa Marques wrote:
>>>>
>>>> Brian, check out /var/log/apache2/error.log to see the errors and let 
>>>> us know what is in there. 
>>>>
>>>> I'm having the exact same challenge as you (trying to configure flask + 
>>>> apache + anaconda + mod_wsgi on an ubuntu EC2 instance). 
>>>>
>>>> On Monday, May 8, 2017 at 1:59:16 PM UTC-3, Brian wrote:
>>>>>
>>>>> Thank you Graham. 
>>>>>
>>>>> Any recs on testing and/or debugging a 500 internal server error when 
>>>>> I try to hit the site? I'm assuming that it's in the configuration so I'm 
>>>>> going to add full details of the process and config files below. 
>>>>>
>>>>> All commands ran:
>>>>>
>>>>> ## build conda environment
>>>>>
>>>>> conda create --name test1.0 python==3.6.1 pandas jupyter requests flask
>>>>>
>>>>>
>>>>> ## activate conda environment 
>>>>>
>>>>> source activate test1.0
>>>>>  
>>>>>
>>>>> ## get apache2
>>>>>
>>>>> sudo apt-get install apache2
>>>>>
>>>>> sudo apt-get install apache2-dev
>>>>>
>>>>>
>>>>> ## get mod_wsgi
>>>>>
>>>>> #sudo apt-get install libapache2-mod-wsgi
>>>>>
>>>>> pip install mod_wsgi
>>>>>
>>>>>
>>>>> ## force load Anaconda's shared library
>>>>>
>>>>> mod_wsgi-express module-config
>>>>>
>>>>>
>>>>> ## enable mod_wsgi
>>>>>
>>>>> sudo a2enmod wsgi 
>>>>>
>>>>>
>>>>> ## get git 
>>>>>
>>>>> sudo apt-get install git
>>>>>
>>>>>
>>>>> ## create config for apache to know about wsgi and flask app
>>>>>
>>>>> touch /etc/apache2/sites-available/FlaskApp.conf
>>>>>
>>>>>
>>>>> ## disable default config
>>>>>
>>>>> sudo a2dissite 000-default
>>>>>
>>>>>
>>>>> ## provide new config
>>>>>
>>>>> sudo a2ensite FlaskApp.conf
>>>>>
>>>>>
>>>>> ## start/restart apache
>>>>>
>>>>> sudo service apache2 restart
>>>>>
>>>>> Contents of FlaskApp.conf:
>>>>>
>>>>> <VirtualHost *:80>
>>>>>
>>>>>                 ServerName <IPv4 PUBLIC IP>
>>>>>
>>>>>                 ServerAdmin ubuntu@<IPv4 PUBLIC IP>.
>>>>> us-west-2.compute.amazonaws.com
>>>>>
>>>>>                 WSGIScriptAlias / /var/www/FlaskApp/flaskapp.wsgi
>>>>>
>>>>>                 <Directory /var/www/FlaskApp/FlaskApp/>
>>>>>
>>>>>                         Order allow,deny
>>>>>
>>>>>                         Allow from all
>>>>>
>>>>>                 </Directory>
>>>>>
>>>>>                 Alias /static /var/www/FlaskApp/FlaskApp/static
>>>>>
>>>>>                 <Directory /var/www/FlaskApp/FlaskApp/static/>
>>>>>
>>>>>                         Order allow,deny
>>>>>
>>>>>                         Allow from all
>>>>>
>>>>>                 </Directory>
>>>>>
>>>>>                 ErrorLog ${APACHE_LOG_DIR}/error.log
>>>>>
>>>>>                 LogLevel warn
>>>>>
>>>>>                 CustomLog ${APACHE_LOG_DIR}/access.log combined
>>>>>
>>>>> </VirtualHost>
>>>>>
>>>>> Location of flask app and .wsgi file*.*
>>>>>
>>>>> (test1.0) ubuntu:/var/www$ tree
>>>>>
>>>>> *.*
>>>>>
>>>>> ├── *FlaskApp*
>>>>>
>>>>>    ├── *FlaskApp*
>>>>>
>>>>>    │   ├── __init__.py
>>>>>
>>>>>    │   ├── *static*
>>>>>
>>>>>    │   └── *templates*
>>>>>
>>>>>    └── flaskapp.wsgi
>>>>>
>>>>> Contents of flaskapp.wsgi:
>>>>>
>>>>> #!/usr/bin/python
>>>>>
>>>>> import sys
>>>>>
>>>>> import logging
>>>>>
>>>>> logging.basicConfig(stream=sys.stderr)
>>>>>
>>>>> sys.path.insert(0,"/var/www/FlaskApp/")
>>>>>
>>>>>
>>>>> from FlaskApp import app as application
>>>>>
>>>>> application.secret_key = '<secret>'
>>>>>
>>>>> Contents of __init__.py:
>>>>>
>>>>> from flask import Flask
>>>>>
>>>>> app = Flask(__name__)
>>>>>
>>>>> @app.route("/")
>>>>>
>>>>> def hello():
>>>>>
>>>>>     return "Hello World (flask via conda env)!"
>>>>>
>>>>> if __name__ == "__main__":
>>>>>
>>>>>     app.run()
>>>>>
>>>>> When visiting the site, I get a 500 internal server error. I likely 
>>>>> messed up something with the config. Any help is greatly appreciated.
>>>>>
>>>>> Best,
>>>>> -Brian
>>>>>
>>>>> On Sunday, May 7, 2017 at 6:32:18 PM UTC-6, Graham Dumpleton wrote:
>>>>>>
>>>>>> In the first instance you should ensure things work with a WSGI hello 
>>>>>> world, no Flask framework. This ensures setup with Anaconda Python is 
>>>>>> okay, 
>>>>>> which sometimes doesn't always work because of stupid things Anaconda 
>>>>>> Python does which breaks the ability to use it in embedded systems.
>>>>>>
>>>>>> As to deploying Flask, the Flask documentation has details:
>>>>>>
>>>>>> * http://flask.pocoo.org/docs/0.12/deploying/mod_wsgi/
>>>>>>
>>>>>> Also ensure you read:
>>>>>>
>>>>>> * 
>>>>>> http://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html
>>>>>>
>>>>>> so you are setting up any Python virtual environment correctly as 
>>>>>> guides for frameworks often don't suggest the preferred method, or 
>>>>>> simply 
>>>>>> don't address it.
>>>>>>
>>>>>> Graham
>>>>>>
>>>>>> On 7 May 2017, at 8:00 AM, Brian Lehman <[email protected]> 
>>>>>> wrote:
>>>>>>
>>>>>> Thanks Graham. So everything is installed. Being brand new to this 
>>>>>> world, I'm looking for a tutorial to (and please forgive me as I'm 
>>>>>> likely 
>>>>>> using the wrong terminology) see how to tell Apache to use mod_wsgi to 
>>>>>> run 
>>>>>> my flask app. I'm guessing that I need to change some config files in 
>>>>>> Apache to use my conda environment and then write some .wsgi file? 
>>>>>> However, 
>>>>>> I'm seeing quite a few different threads on this subject. Any advice is 
>>>>>> greatly appreciated.   
>>>>>>
>>>>>> ## get apache2
>>>>>> sudo apt-get install apache2
>>>>>> sudo apt-get install apache2-dev
>>>>>>
>>>>>> ## get mod_wsgi
>>>>>> pip install mod_wsgi
>>>>>>
>>>>>> #force load Anaconda's shared library
>>>>>> mod_wsgi-express module-config
>>>>>>
>>>>>> ## start/restart apache
>>>>>> sudo service apache2 restart 
>>>>>>
>>>>>> On Thursday, May 4, 2017 at 4:22:08 PM UTC-6, Graham Dumpleton wrote:
>>>>>>>
>>>>>>> As per instructions in:
>>>>>>>
>>>>>>>     https://pypi.python.org/pypi/mod_wsgi
>>>>>>>
>>>>>>> You need to ensure you have the 'dev' packages for Apache installed.
>>>>>>>
>>>>>>> If you are running Debian or Ubuntu Linux with Apache 2.4 system 
>>>>>>> packages, regardless of which Apache MPM is being used, you would need 
>>>>>>> both:
>>>>>>>
>>>>>>>     apache2
>>>>>>>     apache2-dev
>>>>>>>
>>>>>>> Note that if using Anaconda Python, after having installed mod_wsgi 
>>>>>>> with pip, ensure you run:
>>>>>>>
>>>>>>>     mod_wsgi-express module-config
>>>>>>>
>>>>>>> to show the configuration you need to include in the system Apache 
>>>>>>> if you intend manually configuring it for mod_wsgi, instead of using 
>>>>>>> 'mod_wsgi-express start-server'.
>>>>>>>
>>>>>>> This is necessary as Anaconda Python can require extra configuration 
>>>>>>> directives to force load its shared library. That command should output 
>>>>>>> the 
>>>>>>> appropriate lines, although just check that the generated line for 
>>>>>>> LoadFile 
>>>>>>> directive actually points at a valid path. Seen one report where for 
>>>>>>> Anaconda Python the path it generated was wrong and it had to be 
>>>>>>> changed.
>>>>>>>
>>>>>>> Graham
>>>>>>>
>>>>>>> On 5 May 2017, at 2:54 AM, Brian Lehman <[email protected]> 
>>>>>>> wrote:
>>>>>>>
>>>>>>> Good day. When I try to pip install mod_wsgi inside of an anaconda 
>>>>>>> env called test1.0 on an aws ec2 instance w/ ubuntu, I get the folowing 
>>>>>>> error. Any suggestions?
>>>>>>>
>>>>>>> (test1.0) ubuntu$ python --version 
>>>>>>>
>>>>>>> Python 3.6.1 :: Continuum Analytics, Inc.
>>>>>>>
>>>>>>> (test1.0) ubuntu$ 
>>>>>>>
>>>>>>> (test1.0) ubuntu$ 
>>>>>>>
>>>>>>> (test1.0) ubuntu$ pip install mod_wsgi
>>>>>>>
>>>>>>> Collecting mod_wsgi
>>>>>>>
>>>>>>>   Using cached mod_wsgi-4.5.15.tar.gz
>>>>>>>
>>>>>>>     Complete output from command python setup.py egg_info:
>>>>>>>
>>>>>>>     Traceback (most recent call last):
>>>>>>>
>>>>>>>       File "<string>", line 1, in <module>
>>>>>>>
>>>>>>>       File "/tmp/pip-build-80walwu3/mod-wsgi/setup.py", line 164, in 
>>>>>>> <module>
>>>>>>>
>>>>>>>         'missing Apache httpd server packages.' % APXS)
>>>>>>>
>>>>>>>     RuntimeError: The 'apxs' command appears not to be installed or 
>>>>>>> is not executable. Please check the list of prerequisites in the 
>>>>>>> documentation for this package and install any missing Apache httpd 
>>>>>>> server 
>>>>>>> packages.
>>>>>>>     
>>>>>>>
>>>>>>>     ----------------------------------------
>>>>>>>
>>>>>>> Command "python setup.py egg_info" failed with error code 1 in 
>>>>>>> /tmp/pip-build-80walwu3/mod-wsgi/
>>>>>>>
>>>>>>> -- 
>>>>>>> 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.
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> -- 
>>>>>> 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.
>>>>>>
>>>>>>
>>>>>>
>>> -- 
>>> 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.
>>>
>>>
>>>
>> -- 
>> 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.
>>
>>
>>
>>

-- 
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