CKAN distribution not found error while trying to serve CKAN from apache

青春壹個敷衍的年華 提交于 2019-12-12 04:18:01

问题


I am trying to configure datapusher for ckan 2.7 and as a prerequisite i have installed datastore and apache http server.

apache httpd version: Apache/2.4.25 (Unix) mod_wsgi package installed 4.5.15 the permissions for the conf files are as specified in the ckan documentation http://docs.ckan.org/en/latest/maintaining/installing/deployment.html

contents of ckan_default.conf are

WSGIScriptAlias / /etc/ckan/default/apache.wsgi

WSGIPassAuthorization On

WSGIDaemonProcess ckan_default display-name=ckan_default processes=2 threads=15

WSGIProcessGroup ckan_default

ErrorLog /var/log/apache2/ckan_default.error.log

CustomLog /var/log/apache2/ckan_default.custom.log combined

contents of apache.wsgi file:

import os
ckan_home = os.environ.get('CKAN_HOME', '/usr/lib/ckan/default')

activate_this = os.path.join(ckan_home, 'bin/activate_this.py')

execfile(activate_this, dict(__file__=activate_this))

from paste.deploy import loadapp

config_filepath = os.path.join(os.path.dirname(os.path.abspath(__file__)), 
'production.ini')

from paste.script.util.logging_config import fileConfig

fileConfig(config_filepath)

application = loadapp('config:%s' % config_filepath)

when i start the apache httpd server I see the following error in logs.

[Tue May 02 17:39:23.953718 2017] [wsgi:error] [pid 24744:tid 140135528146688] mod_wsgi (pid=24744): Target WSGI script '/etc/ckan/default/apache.wsgi' cannot be loaded as Python module.

[Tue May 02 17:39:23.953836 2017] [wsgi:error] [pid 24744:tid 140135528146688]  mod_wsgi (pid=24744): Exception occurred processing WSGI script '/etc/ckan/default/apache.wsgi'.

[Tue May 02 17:39:23.953875 2017] [wsgi:error] [pid 24744:tid 140135528146688]  Traceback (most recent call last):

[Tue May 02 17:39:23.953912 2017] [wsgi:error] [pid 24744:tid 140135528146688] File "/etc/ckan/default/apache.wsgi", line 10, in <module>
[Tue May 02 17:39:23.954043 2017] [wsgi:error] [pid 24744:tid 140135528146688] application = loadapp('config:%s' % config_filepath)

[Tue May 02 17:39:23.954067 2017] [wsgi:error] [pid 24744:tid 140135528146688] File "/usr/lib/ckan/default/lib/python2.7/site-packages/paste/deploy/loadwsgi.py", line 247, in loadapp

[Tue May 02 17:39:23.955927 2017] [wsgi:error] [pid 24744:tid 140135528146688] DistributionNotFound: The 'ckan' distribution was not found and is required by the application

Could anyone please help me resolve this issue? Thanks in advance

PS : CKAN site loads fine when using paster serve


回答1:


Thank you Graham Dumpleton.The link helped. The problem was due to different versions of pythons installed and virtual environment paths. I added and set the path of appropriate virtual environment.

step 1) activate the virtual environment

step 2) execute below command to know the path of virtual env

    python -c 'import sys; print(sys.prefix)'

step 3) add the below line in ckan_default.conf file (before virtual hosts)

    WSGIPythonHome <path you got in step 2>

step 4 ) restart apache



来源:https://stackoverflow.com/questions/43759081/ckan-distribution-not-found-error-while-trying-to-serve-ckan-from-apache

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!