ここに私の最初の投稿とアドバイスを探しています。ここ数日、私は自分の職場で Mercurial サーバーを稼働させようとしてきました。しかし、私は同じエラーで惨めに失敗しています。私の手に負えない理由により、Apache を介してアクセスする必要があります。
私は現在持っています:
- Windows Server 2008 R2
- アパッチ 2.2
- パイソン 2.7
- マーキュリアル 2.7.2
- テスト用にローカルに保持されたリポジトリ (C:\Repositories\repo1 内)
- mod_wsgi
私の hgweb.config と hgweb.wsgi は C:\Repositories にあり、httpd.conf と共に、次のようになります。
hgweb.config
[paths]
/ = C:/Repositories/*
[web]
style = coal
push_ssl = false
hgweb.wsgi
config = "C:\Repositories\hgweb.config"
#import sys; sys.path.insert(0, "C:\Program Files (x86)\Mercurial")
import sys; sys.path.insert(0, "C:\Python27\Lib\site-packages\mercurial")
from mercurial import demandimport; demandimport.enable()
from mercurial.hgweb import hgweb
application = hgweb(config)
httpd.conf
<VirtualHost *>
ServerName hg.example.net
ServerAdmin me@myplace.com
DocumentRoot "C:/Repositories"
LogLevel debug
ErrorLog C:/Repositories/error_log
CustomLog C:/Repositories/access_log common
LogLevel debug
WSGIScriptAlias /hg "C:/Repositories/hgweb.wsgi"
#WSGIScriptAlias / "C:/Repositories/Hello World.wsgi"
<Directory C:/Repositories>
Order allow,deny
Allow from all
AllowOverride All
AddHandler wsgi-script .wsgi
</Directory>
</VirtualHost>
単純な Hello World.wsgi は問題なく動作します。これは、Apache、Python、および mod_wsgi がすべてうまく連携していることを示唆しています。しかし、hgweb.wsgi を使用するたびに、内部サーバー エラーが発生します... contact me@myplace.com... 動作していませんが、少なくとも httpd.conf の ServerAdmin を読み取って使用していることを意味します。
error.log には、hgweb.wsgi を Python モジュールとしてロードできないことが示されています (以下の出力では、日付、IP などが削除されています)。
mod_wsgi (pid=4764): Target WSGI script 'C:/Repositories/hgweb.wsgi' cannot be loaded as Python module.
mod_wsgi (pid=4764): Exception occurred processing WSGI script 'C:/Repositories/hgweb.wsgi'.
Traceback (most recent call last):
File "C:/Repositories/hgweb.wsgi", line 19, in <module>
application = hgweb(config)
File "C:\\Python27\\lib\\site-packages\\mercurial\\hgweb\\__init__.py", line 26, in hgweb
return hgwebdir_mod.hgwebdir(config, baseui=baseui)
File "C:\\Python27\\lib\\site-packages\\mercurial\\hgweb\\hgwebdir_mod.py", line 89, in __init__
self.refresh()
File "C:\\Python27\\lib\\site-packages\\mercurial\\hgweb\\hgwebdir_mod.py", line 98, in refresh
u = ui.ui()
File "C:\\Python27\\lib\\site-packages\\mercurial\\ui.py", line 45, in __init__
for f in scmutil.rcpath():
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
self._load()
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
mod = _origimport(head, globals, locals)
File "C:\\Python27\\lib\\site-packages\\mercurial\\scmutil.py", line 274, in <module>
class vfs(abstractvfs):
File "C:\\Python27\\lib\\site-packages\\mercurial\\scmutil.py", line 302, in vfs
@util.propertycache
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
self._load()
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
mod = _origimport(head, globals, locals)
File "C:\\Python27\\lib\\site-packages\\mercurial\\util.py", line 27, in <module>
cachestat = platform.cachestat
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
self._load()
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
mod = _origimport(head, globals, locals)
File "C:\\Python27\\lib\\site-packages\\mercurial\\windows.py", line 36, in <module>
posixfile.__doc__ = osutil.posixfile.__doc__
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 86, in __getattribute__
self._load()
File "C:\\Python27\\lib\\site-packages\\mercurial\\demandimport.py", line 58, in _load
mod = _origimport(head, globals, locals)
ImportError: DLL load failed: %1 is not a valid Win32 application.
どんな助けやアイデアも大歓迎です。
前もって感謝します。