[英]readthedocs app won't start with apache and django
我試圖讓readthedocs作為apache應用程序運行。 我按照所有說明進行操作,但我將其歸結為我的apache日志中的此錯誤。
mod_wsgi (pid=2372): Target WSGI script '/opt/readthedocs.org/readthedocs/wsgi.py' cannot be loaded as Python module.
mod_wsgi (pid=2372): Exception occurred processing WSGI script '/opt/readthedocs.org/readthedocs/wsgi.py'.
Traceback (most recent call last):
File "/opt/readthedocs.org/readthedocs/wsgi.py", line 8, in <module>
from django.core.wsgi import get_wsgi_application
File "/usr/local/lib/python2.7/site-packages/django/__init__.py", line 1, in <module>
from django.utils.version import get_version
File "/usr/local/lib/python2.7/site-packages/django/utils/version.py", line 7, in <module>
from django.utils.lru_cache import lru_cache
File "/usr/local/lib/python2.7/site-packages/django/utils/lru_cache.py", line 28
fasttypes = {int, str, frozenset, type(None)},
^
SyntaxError: invalid syntax
我對該系統了解不足,無法知道我是否應該搜索服務器配置錯誤,或者我是否正在處理應用程序此分支中的錯誤。
我一直遵循這些說明,並且由於這是在專用服務器上進行的,因此我不使用virtualenv
https://docs.djangoproject.com/zh-CN/1.8/howto/deployment/wsgi/modwsgi/
https://read-the-docs.readthedocs.org/en/latest/install.html
我的包裹文件夾:
alabaster django_filters lazr.uri-1.0.3-nspkg.pth pytz-2013b0.egg-info
alabaster-0.7.6.dist-info django_formtools-1.0.dist-info livereload queries
allauth django_gravatar livereload-2.4.0.dist-info README
amqp django_gravatar2-1.0.6.egg-info markdown recommonmark
amqp-1.4.6.dist-info django_guardian-1.3.egg-info Markdown-2.6.2.dist-info recommonmark-0.1.1.dist-info
anyjson django_haystack-2.1.0.egg-info mimeparse-0.1.3.egg-info redis
anyjson-0.3.3.egg-info django_kombu-0.9.4.egg-info mimeparse.py redis-2.7.1.egg-info
appconf django_pagination-1.0.7.egg-info mimeparse.pyc requests
babel djangorestframework-3.0.4.dist-info mkdocs requests-2.3.0.dist-info
Babel-2.0.egg-info djangosecure mkdocs-0.14.0.dist-info requests_oauthlib
beautifulsoup4-4.1.3.egg-info django_secure-0.1.2.egg-info mock-1.0.1.egg-info requests_oauthlib-0.5.0.dist-info
bs4 django_taggit-0.17.1.egg-info mock.py rest_framework
celery django_tastypie-0.12.2.dev0.egg-info mock.pyc slumber
celery-3.1.18.dist-info djcelery nilsimsa slumber-0.6.0.dist-info
celery_haystack djcelery_transactions nilsimsa-0.3.7.egg-info snowballstemmer
celery_haystack-0.7.2.egg-info djkombu oauth snowballstemmer-1.2.0.egg-info
certifi dns oauth-1.0.1.egg-info sphinx
certifi-2015.9.6.2.dist-info dnspython-1.11.0.egg-info oauthlib Sphinx-1.3.1.dist-info
click doc2dash oauthlib-1.0.3.egg-info sphinx_http_domain
click-5.1.dist-info doc2dash-1.1.0.egg-info openid sphinx_http_domain-0.2.egg-info
CommonMark docker packaging sphinx_rtd_theme
CommonMark-0.5.4.egg-info docker_py-1.3.1.egg-info packaging-15.2.dist-info sphinx_rtd_theme-0.1.8.dist-info
copyright easy-install.pth pagination stripe
corsheaders elasticsearch pip stripe-1.20.2.egg-info
cssselect elasticsearch-1.5.0.dist-info pip-7.1.0.dist-info taggit
cssselect-0.9.1.egg-info formtools py tastypie
ddf_setup guardian py-1.4.30.dist-info test
distutils2 haystack pyelasticsearch testresources
Distutils2-1.0a3.egg-info httplib2 pyelasticsearch-0.7.1.egg-info testresources-0.2.7.egg-info
django httplib2-0.7.7.egg-info pygments unipath
Django-1.8.3.dist-info keyring Pygments-2.0.2.dist-info Unipath-0.2.1.egg-info
django_allauth-0.21.0.egg-info keyring-5.4.egg-info pyquery VERSION
django_appconf-1.0.1.dist-info kombu pyquery-1.2.2.egg-info virtualenv-13.1.0.dist-info
django_celery-3.1.16.dist-info kombu-3.0.26.dist-info _pytest virtualenv.py
django_celery_transactions-0.3.2.egg-info launchpadlib pytest-2.7.2.dist-info virtualenv.pyc
django_copyright-1.0.0.egg-info launchpadlib-1.10.2.egg-info pytest_django virtualenv_support
django_cors_headers-0.13.egg-info lazr pytest_django-2.8.0.dist-info wadllib
django_dynamic_fixture lazr.authentication-0.1.3.egg-info pytest.py wadllib-1.3.2.egg-info
django_dynamic_fixture-1.8.5.egg-info lazr.authentication-0.1.3-nspkg.pth pytest.pyc websocket
django_extensions lazr.restfulclient-0.13.1.egg-info python_mimeparse-0.1.4.egg-info websocket_client-0.32.0.egg-info
django_extensions-1.3.8.dist-info lazr.restfulclient-0.13.1-nspkg.pth python_openid-2.2.5.egg-info wsgi_intercept
django_filter-0.11.0.egg-info lazr.uri-1.0.3.egg-info pytz wsgi_intercept-0.10.3.egg-info
當編譯mod_wsgi
的Python版本與使用的Django版本不兼容時,通常會發生此錯誤。
看來您使用的是Django 1.8。 現在,Django 1.8與Python 2.7或更高版本兼容。 顯然,用來編譯mod_wsgi
的Python版本是<2.7。
mod_wsgi
軟件包針對特定的Python版本進行編譯,並通過共享庫鏈接。
從mod_wsgi
文檔中:
當
mod_wsgi
建成后,'mod_wsgi.so'
文件應該對Python的通過共享庫鏈接。 如果不是,並且它與靜態庫鏈接,則會出現各種問題。
你需要做什么?
您需要檢查編譯mod_wsgi
Python版本。 如果鏈接了mod_wsgi
Python版本<2.7,則需要使用Python版本> = 2.7重新編譯mod_wsgi
。
如何檢查mod_wsgi
編譯的Python版本?
您可以嘗試運行ldd
命令並檢查輸出。
樣本輸出:
$ ldd mod_wsgi.so
linux-vdso.so.1 => (0x00007fffeb3fe000)
libpython2.5.so.1.0 => /usr/local/lib/libpython2.5.so.1.0 (0x00002adebf94d000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00002adebfcba000)
libdl.so.2 => /lib/libdl.so.2 (0x00002adebfed6000)
libutil.so.1 => /lib/libutil.so.1 (0x00002adec00da000)
libc.so.6 => /lib/libc.so.6 (0x00002adec02dd000)
libm.so.6 => /lib/libm.so.6 (0x00002adec0635000)
/lib64/ld-linux-x86-64.so.2 (0x0000555555554000)
另外,這里是檢查您的mod_wsgi
安裝的官方鏈接 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.