我在用着Trac 项目和TracModWSGI – Trac 项目在RHEL7
:
# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 7.0 (Maipo)
# rpm -q httpd mod_wsgi subversion swig
httpd-2.4.6-18.el7_0.x86_64
mod_wsgi-3.4-12.el7_0.x86_64
subversion-1.7.14-6.el7.x86_64
swig-2.0.10-4.el7.x86_64
# grep tracopt.versioncontrol conf/trac.ini
tracopt.versioncontrol.git.* = enabled
tracopt.versioncontrol.svn.* = enabled
#
当我尝试Browse Source
(Subversion
)时,出现了以下错误:
Trac Error:
-Unsupported version control system "svn": No module named svn
Logging
:
Trac[svn_fs] INFO: Failed to load Subversion bindings
Traceback (most recent call last):
File "build/bdist.linux-x86_64/egg/tracopt/versioncontrol/svn/svn_fs.py", line 296, in __init__
_import_svn()
File "build/bdist.linux-x86_64/egg/tracopt/versioncontrol/svn/svn_fs.py", line 78, in _import_svn
from svn import fs, repos, core, delta
ImportError: No module named svn
问题在于无法通过以下方式加载Python
绑定:Subversion
Trac
# python
Python 2.7.5 (default, Feb 11 2014, 07:46:25)
[GCC 4.8.2 20140120 (Red Hat 4.8.2-13)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from svn import core
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: No module named svn
>>>
#
对于基于 rpm 的操作系统,一个简单的解决方案是安装 subversion-python 绑定 rpm。
很遗憾No package subversion-python available.
:
# subscription-manager repos | grep '^Repo ID' | egrep -v 'beta|debug|fastrack|source'
Repo ID: rhel-7-server-v2vwin-1-rpms
Repo ID: rhel-7-server-rpms
Repo ID: rhel-7-server-extras-rpms
Repo ID: rhel-7-server-rhn-tools-rpms
Repo ID: rhel-7-server-thirdparty-oracle-java-rpms
Repo ID: rhel-7-server-rh-common-rpms
Repo ID: rhel-7-server-supplementary-rpms
Repo ID: rhel-7-server-optional-rpms
# yum install subversion-python
Loaded plugins: product-id, subscription-manager
No package subversion-python available.
Error: Nothing to do
# yum repolist
Loaded plugins: product-id, subscription-manager
repo id repo name status
!epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 7,192
rhel-7-server-rpms/7Server/x86_64 Red Hat Enterprise Linux 7 Server (RPMs) 5,320
repolist: 12,512
#
请指教。
答案1
事实证明,虽然subversion-python-1.7.14-6.el7.x86_64.rpm
是 的一部分rhel-7-workstation-optional-rpms
,但它不是 的一部分rhel-7-server-optional-rpms
。我rpm
在以下镜像中找到了:
安装 rpm 后subversion-python
,绑定工作如预期。