代碼審核工具ReviewBoard在Windows下安裝問題


在比較了幾款CODE REVIEW的工具之后,決定部署一個Reviewboard。基於PYTHON的環境在WINDOWS下配置是相當的麻煩。在照着文檔把每一步做完之后,發現站點還是不能訪問。
 
查看apache的日志后發現如下LOG:
File "C:\\Python27\\lib\\site-packages\\django-1.3.1-py2.7.egg\\django\\core\\handlers\\wsgi.py", line 250, in __call__, referer: 
 self.load_middleware(), referer:  
File "C:\\Python27\\lib\\site-packages\\django-1.3.1-py2.7.egg\\django\\core\\handlers\\base.py", line 47, in load_middleware, referer:  raise exceptions.ImproperlyConfigured(' Error importing middleware %s: "%s"' % (mw_module, e)), referer: ImproperlyConfigured: Error importing middleware reviewboard.admin.middleware: "cannot import name Random",
 
在翻遍了整個GOOGLE之后,有老外提示是其中的pycrypto編譯的包有問題,需要在Windows下重新編譯。
 
於是乎下載了pycrypto2.5的源碼。
在WINDOWS下編譯,需要Mingw環境,下載Mingw,安裝選C編譯器就可以。記得把MSYS也勾上。
 
安裝完之后,進入pycrypto的源碼目錄,執行:
python setup.py build -c mingw32
結果報錯如下:
Traceback (most recent call last):
  File "setup.py", line 452, in <module>
    core.setup(**kw)
  File "C:\Python27\lib\distutils\core.py", line 152, in setup
    dist.run_commands()
  File "C:\Python27\lib\distutils\dist.py", line 953, in run_commands
    self.run_command(cmd)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "C:\Python27\lib\distutils\command\build.py", line 127, in run
    self.run_command(cmd_name)
  File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 247, in run
    self.run_command(cmd_name)
  File "C:\Python27\lib\distutils\cmd.py", line 326, in run_command
    self.distribution.run_command(command)
  File "C:\Python27\lib\distutils\dist.py", line 972, in run_command
    cmd_obj.run()
  File "setup.py", line 269, in run
    raise RuntimeError("chmod error")
RuntimeError: chmod error
 
又翻遍了GOOGLE之后,有人提示說要裝ActivePerl。切記注意配置環境變量,把ActivePerl的路徑放在Mingw之前。
再執行
python setup.py build -c mingw32python setup.py bdist_wininst
運行后,生成pycrypto-2.5.win32-py2.7.exe
安裝后,訪問reviewboard網站,發現問題依舊。就在我打算放棄的時候,突然看到有人說pycrypto2.5有問題,用低版本的試試。
於是我就下了一個2.2的源碼,重新編譯。
 
在執行到python setup.py bdist_wininst時報錯
error : Unable to find vcvarsall.bat
 
解決方法如下:
在python的lib\distutils目錄下,找到distutils.cfg文件(如果沒有,就創建一個)。加上下面內容:
[build] 
compiler =mingw32
再次執行python setup.py bdist_wininst
BUILD成功,BDIST目錄下生成.pycrypto-2.2.win32-py2.7.exe安裝文件
刪了之前的2.5版本,再裝這個2.2的版本。
 
訪問網頁:
 
已經正常運行了。還有點CSS的問題,應該是路徑的配置。
 
因為在創建站點的時候,我用了alias指向,需要找到rb站點的conf目錄里的settings_local.py文件
在FORCE_SCRIPT_NAME后,加上alias的名稱,
FORCE_SCRIPT_NAME = "/review/"
這樣再次訪問,
 
OK!
 
還是有些小問題,至少都是站點配置問題,慢慢改吧。
 
后面再寫一些使用的經驗。

 

為方便大家,我把我編譯的安裝包放上來。(Python 2.7版本)

Pycrypto2.2安裝包


另附兩個鏈接:
安裝資料
我在rb站點上提交的issue
 



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM