2011-08-11 58 views
3

的Mercurial版本是1.9.1什麼是善變hgweb.cgi和python匹配版本

C:\Inetpub\hgweb>hg version 
Mercurial Distributed SCM (version 1.9.1) 
(see http://mercurial.selenic.com for more information) 

Copyright (C) 2005-2011 Matt Mackall and others 
This is free software; see the source for copying conditions. There is NO 
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 

,我試圖運行文件 「hgweb.cgi」 位於善變

與嘗試蟒蛇2.5,2.7和3.2,但我仍然得到神奇的數字錯誤。

C:\Inetpub\hgweb>c:\Python25\python.exe hgweb.cgi 
Traceback (most recent call last): 
    File "hgweb.cgi", line 15, in <module> 
    from mercurial import demandimport; demandimport.enable() 
ImportError: Bad magic number in C:\Inetpub\hgweb\mercurial\__init__.pyc 

C:\Inetpub\hgweb>c:\Python27\python.exe hgweb.cgi 
Traceback (most recent call last): 
    File "hgweb.cgi", line 15, in <module> 
    from mercurial import demandimport; demandimport.enable() 
ImportError: Bad magic number in C:\Inetpub\hgweb\mercurial\__init__.pyc 

C:\Inetpub\hgweb>c:\Python32\python.exe hgweb.cgi 
Traceback (most recent call last): 
    File "hgweb.cgi", line 15, in <module> 
    from mercurial import demandimport; demandimport.enable() 
ImportError: Bad magic number in C:\Inetpub\hgweb\mercurial\__init__.pyc 

我應該使用哪種版本的python?

編輯#2

我重新拷貝位於善變附近hgweb.cgi的Library.zip內容和例外是「無模塊命名善變」。但有一個名爲'mercurial'的文件夾,它包含pyo文件。 (試過其他Python版本2.7,3.2和錯誤是一樣的)

細節:

<type 'exceptions.ImportError'> Python 2.5.4: C:\Python25\python.exe 
Thu Aug 11 23:24:26 2011 
A problem occurred in a Python script. Here is the sequence of function calls leading up to the error, in the order they occurred. 

C:\Inetpub\hgweb\hgweb.cgi in() 
    13 import cgitb; cgitb.enable() 
    14 
    15 from mercurial import demandimport; demandimport.enable() 
    16 from mercurial.hgweb import hgweb, wsgicgi 
    17 application = hgweb(config) 
mercurial undefined, demandimport undefined 
<type 'exceptions.ImportError'>: No module named mercurial 
     args = ('No module named mercurial',) 
     message = 'No module named mercurial' 

編輯3

安裝了Python 2.6

而且新的錯誤是:

Traceback (most recent call last): 
    File "C:\Inetpub\hgweb\hgweb.cgi ", line 17, in <module> 
    application = hgweb(config) 
    File "mercurial\hgweb\__init__.pyc", line 26, in hgweb 
    File "mercurial\hgweb\hgwebdir_mod.pyc", line 62, in __init__ 
    ||ƒSt|iƒ}|}xæ|oŞ|i|ƒ} | o™||id 
    File "mercurial\hgweb\hgwebdir_mod.pyc", line 71, in refresh 
    |||ƒS|it|ƒ|dd|ƒSWn<tj 
    File "mercurial\ui.pyc", line 43, in __init__ 
    |iƒ|djotiidƒ}n|id|ƒdS(NtsectionstremapsIgnored: %s 
    File "mercurial\demandimport.pyc", line 75, in __getattribute__ 
    File "mercurial\demandimport.pyc", line 47, in _load 
    _demandimportQs:" 
    File "mercurial\scmutil.pyc", line 164, in <module> 

    File "mercurial\scmutil.pyc", line 180, in opener 
    (R÷tctx(smercurial\scmutil.pyctbadfn;s(R-(RRŸRØtbad(RRştoptsRRßR((R÷Rsmercurial\scmutil.pycRŸ3s 
    File "mercurial\demandimport.pyc", line 75, in __getattribute__ 
    File "mercurial\demandimport.pyc", line 47, in _load 
    _demandimportQs:" 
    File "mercurial\util.pyc", line 503, in <module> 
    File "mercurial\demandimport.pyc", line 85, in _demandimport 
    File "mercurial\windows.pyc", line 21, in <module> 
    cCscy|iiƒSWnKtj 
    File "mercurial\demandimport.pyc", line 75, in __getattribute__ 
    File "mercurial\demandimport.pyc", line 47, in _load 
    _demandimportQs:" 
    File "mercurial\osutil.pyc", line 12, in <module> 
    File "mercurial\osutil.pyc", line 10, in __load 
ImportError: DLL load failed: The specified module could not be found. 
+0

可能要提到你從哪裏得到Mercurial,以便其他人可以檢查包裝。 –

+0

首先使用來自「http://selenic.com/repo/hg」的最新mercurial源代碼,但它會拋出「幻數」錯誤。然後我使用了最新的tortoiseHg 2.1.2(它帶有mercurial 1.9.1),但它不能導入mercurial。 (PS我解壓library.zip內容) –

+0

這解決了我的問題:http://stackoverflow.com/a/5662125/14731 – Gili

回答

2

您需要在Mercurial構建的Python版本下運行。不幸的是,常見問題沒有提到這是什麼,我無法在我當前的系統上打開.msi,因此您需要檢查「pythonXX.dll」或與TortoiseHG一起安裝的某些庫,並將其與該次要版本一起使用的Python。

+0

文件名是python26.dll。 –