Libgfortran was also a permission issue : not being accessible by Apache as 
well

I am not facing a similar problem I had when I excuted the first time the 
application with Flask/python

[Tue Jan 22 16:17:16.503173 2019] [wsgi:error] [pid 23077] [remote 
10.222.160.228:37526]   Resource\x1b[93mstopwords\x1b[0m not found.
[Tue Jan 22 16:17:16.503176 2019] [wsgi:error] [pid 23077] [remote 
10.222.160.228:37526]   Please use the NLTK Downloader to obtain the 
resource:
[Tue Jan 22 16:17:16.503178 2019] [wsgi:error] [pid 23077] [remote 
10.222.160.228:37526]
[Tue Jan 22 16:17:16.503183 2019] [wsgi:error] [pid 23077] [remote 
10.222.160.228:37526]   \x1b[31m>>> import nltk
[Tue Jan 22 16:17:16.503185 2019] [wsgi:error] [pid 23077] [remote 
10.222.160.228:37526]   >>> nltk.download('stopwords')

At that time, I had to execute under pip3.7 command line 

  >>> import nltk

  >>> nltk.download('stopwords')


Should I had the same line in the wsgi script ?

Thanks
Eric


Le mardi 22 janvier 2019 17:05:38 UTC+1, Eric Demarqui a écrit :
>
> waoo. great progress Graham ! Thanks for that .
>
> Here is the result of the print in wsgi script :
> [Tue Jan 22 15:31:29.345107 2019] [wsgi:error] [pid 2719] [remote 
> 10.222.160.228:36190]    
>  print(os.listdir('/usr/local/lib/python3.7/site-packages/sklearn'))
> [Tue Jan 22 15:31:29.345121 2019] [wsgi:error] [pid 2719] [remote 
> 10.222.160.228:36190] PermissionError: [Errno 13] Permission denied: 
> '/usr/local/lib/python3.7/site-packages/sklearn'
>
> most of the directories where owned by root and I assume that httpd 
> (running with apache account) was not able to access.
>
> I changed permissions for directories.
> I changed permissions for some .so files (as well) as they were not 
> readable.
>
> The most recent problem is now :
>
> [Tue Jan 22 15:57:49.513715 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858]     importnumpy.core.numeric as _nx
> [Tue Jan 22 15:57:49.513719 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858]   File 
> "/usr/local/lib/python3.7/site-packages/numpy/core/__init__.py", line 26, 
> in <module>
> [Tue Jan 22 15:57:49.513722 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858]     raise ImportError(msg)
> [Tue Jan 22 15:57:49.513731 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858] ImportError:
> [Tue Jan 22 15:57:49.513734 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858] Importing the multiarray numpy extension module 
> failed.  Most
> [Tue Jan 22 15:57:49.513737 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858] likely you are trying to import a failed build of 
> numpy.
> [Tue Jan 22 15:57:49.513739 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858] If you're working with a numpy git repo, try `git 
> clean -xdf` (removes all
> [Tue Jan 22 15:57:49.513742 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858] files not under version control).  Otherwise 
> reinstall numpy.
> [Tue Jan 22 15:57:49.513744 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858]
> [Tue Jan 22 15:57:49.513747 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858] Original error was: libgfortran-ed201abd.so.3.0.0: 
> cannot open shared object file: No such file or directory
> [Tue Jan 22 15:57:49.513750 2019] [wsgi:error] [pid 14006] [remote 
> 10.222.160.228:36858]
>
> not sure where this fortran lib should come from ...
>
> Eric
>
>
> Le mardi 22 janvier 2019 15:50:18 UTC+1, Graham Dumpleton a écrit :
>>
>> It is either going to be an issue with permissions on that package where 
>> it is installed, or SELinux is blocking the Apache process from reading 
>> anything in that directory.
>>
>> Try adding to your WSGI script before the imports:
>>
>> import os
>> print(os.listdir('/usr/local/lib/python3.7/site-packages/sklearn'))
>>
>> If that errors or shows nothing, would confirm one of the above.
>>
>> On 22 Jan 2019, at 7:45 pm, Eric Demarqui <[email protected]> wrote:
>>
>> Graham,
>>
>> I am getting this :
>>
>> # python3.7
>> Python 3.7.1 (default, Jan 15 2019, 15:00:56)
>> [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
>> Type "help", "copyright", "credits" or "license" for more information.
>> >>> import sklearn.feature_extraction
>> /usr/local/lib/python3.7/site-packages/sklearn/feature_extraction/text.py:17:
>>  
>> DeprecationWarning: Using or importing the ABCs from 'collections' instead 
>> of from 'collections.abc' is deprecated, and in 3.8 it will stop working
>>   from collections import Mapping, defaultdict
>> >>> print(sklearn.feature_extraction.__file__)
>>
>> /usr/local/lib/python3.7/site-packages/sklearn/feature_extraction/__init__.py
>>
>> Thx
>>
>> Le lundi 21 janvier 2019 20:55:11 UTC+1, Graham Dumpleton a écrit :
>>>
>>> From your command line Python interpreter, do:
>>>
>>>     import sklearn.feature_extraction
>>>     print(sklearn.feature_extraction.__file_)
>>>
>>> What do you get?
>>>
>>> On 22 Jan 2019, at 3:22 am, Eric Demarqui <[email protected]> wrote:
>>>
>>> Thanks Graham,
>>>
>>> let me answer your questions .
>>>
>>> I compiled mod_wsgi from source (from 
>>> https://github.com/GrahamDumpleton/mod_wsgi/archive/4.6.5.tar.gz)
>>> My first try was without the python-path in the  WSGIDaemonProcess 
>>> directive. but the same error was there without python-path.
>>> I am not using a virtual environment.
>>> Here is my python environment :
>>>     Python 3.7.1 (default, Jan 15 2019, 15:00:56)
>>>     [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)] on linux
>>>     Type "help", "copyright", "credits" or "license" for more 
>>> information.
>>>      >>> import sys
>>>      >>> sys.path
>>>      ['', '/usr/local/lib/python37.zip', '/usr/local/lib/python3.7', 
>>> '/usr/local/lib/python3.7/lib-dynload', 
>>> '/root/.local/lib/python3.7/site-packages', 
>>> '/usr/local/lib/python3.7/site-packages']
>>>      >>> sys.prefix
>>>      '/usr/local'
>>>      >>>
>>>
>>> is the path ok ? 
>>>
>>> I have just tried your suggestion by adding the directive 
>>> "WSGIRestrictEmbedded" outside the VirtualHost. 
>>> But the same 500 error happens 
>>>
>>> [Mon Jan 21 13:51:42.193801 2019] [wsgi:error] [pid 12113] [remote 
>>> 10.222.160.228:54376]     from sklearn.feature_extraction.text import 
>>> TfidfVectorizer
>>> [Mon Jan 21 13:51:42.193829 2019] [wsgi:error] [pid 12113] [remote 
>>> 10.222.160.228:54376] ModuleNotFoundError: No module named 
>>> 'sklearn.feature_extraction'
>>>
>>> any idea ?
>>> Thanks
>>> Eric
>>>
>>> Le lundi 21 janvier 2019 12:35:56 UTC+1, Graham Dumpleton a écrit :
>>>>
>>>>
>>>>
>>>> On 21 Jan 2019, at 9:58 pm, Eric Demarqui <[email protected]> wrote:
>>>>
>>>> Hi
>>>>
>>>> I have an application using Flask server which is running fine.
>>>>
>>>> I want to use  now Apache with mod_wsgi on this environment : 
>>>> Apache/2.4.6 (Red Hat Enterprise Linux) mod_wsgi/4.6.5 Python/3.7 
>>>>
>>>> Here is how my wsgi.conf file looks like :
>>>>
>>>> <VirtualHost *>
>>>>     ServerName xxxxxx
>>>>
>>>>     WSGIDaemonProcess pythonapi user=apache group=apache processes=1 
>>>> threads=5 home=/var/www/html/pythonapi 
>>>> python-path=/usr/local/lib/python3.7/site-packages
>>>>
>>>>
>>>> Are you using system package for mod_wsgi, or are you compiling from 
>>>> source code yourself? The system mod_wsgi package is not going to be for 
>>>> Python 3.7. You would need to uninstall the system package to be able to 
>>>> compile mod_wsgi from source code. So how did you install mod_wsgi?
>>>>
>>>> Next issue is that you shouldn’t use python-path to refer to a 
>>>> site-packages directory like that, especially not one in the actual Python 
>>>> installation. If you need to be referring to the one for the actual Python 
>>>> installation, it generally indicates something is wrong with your setup.
>>>>
>>>> If using a Python virtual environment you should be using python-home. 
>>>> See:
>>>>
>>>>
>>>> https://modwsgi.readthedocs.io/en/develop/user-guides/virtual-environments.html
>>>>
>>>> Even if not using a virtual environment. If the Python is in a non 
>>>> standard location, you should also use python-home but in that case 
>>>> referring to sys.path value for the main Python installation and not that 
>>>> of a virtual environment.
>>>>
>>>> I would suggest though when using daemon mode, to add at global scope 
>>>> outside of the VirtualHost:
>>>>
>>>>     WSGIRestrictEmbedded On
>>>>
>>>> This ensures you are using daemon mode.
>>>>
>>>> So first up, it looks a bit like you are mixing mod_wsgi compiled for 
>>>> one Python version/installation, with a different Python version or 
>>>> virtual 
>>>> environment created from a different version.
>>>>
>>>> Beyond that, because you are RHEL, it could be a SELinux issue, but 
>>>> first confirm how your mod_wsgi is installed.
>>>>
>>>>     WSGIProcessGroup pythonapi
>>>>
>>>>     WSGIScriptAlias /servicebotpy 
>>>> /var/www/html/pythonapi/servicebotpy.wsgi
>>>>
>>>>     <Directory /var/www/html/pythonapi>
>>>>          WSGIApplicationGroup %{GLOBAL}
>>>>          Options Indexes MultiViews FollowSymlinks
>>>>          AllowOverride None
>>>>          Require all granted
>>>>     </Directory>
>>>> </VirtualHost>
>>>>
>>>> mod_wsgi is compiled with same version as of python3.7
>>>>
>>>> I am stucked here . 
>>>>
>>>> [Mon Jan 21 10:32:45.881625 2019] [wsgi:error] [pid 22328] [remote 
>>>> 10.222.160.228:49260]   File "/var/www/html/pythonapi/scorer.py", line 
>>>> 5, in <module>
>>>> [Mon Jan 21 10:32:45.881632 2019] [wsgi:error] [pid 22328] [remote 
>>>> 10.222.160.228:49260]     from sklearn.feature_extraction.text import 
>>>> TfidfVectorizer
>>>> [Mon Jan 21 10:32:45.881656 2019] [wsgi:error] [pid 22328] [remote 
>>>> 10.222.160.228:49260] ModuleNotFoundError: No module named 
>>>> 'sklearn.feature_extraction'
>>>>
>>>> Thanks for help
>>>> Eric
>>>>
>>>>
>>>> -- 
>>>> 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