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.