在比较了几款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!

还是有些小问题,至少都是站点配置问题,慢慢改吧。

后面再写一些使用的经验

安装相关资料:

http://www.razorvine.net/blog/user/irmen/article/2009-12-05/166

我在rb站点上提交的issue

http://code.google.com/p/reviewboard/issues/detail?id=2490

通过 Wiz 发布

转载于:https://blog.51cto.com/515632/791824

代码审核工具ReviewBoard在Windows下安装问题相关推荐

  1. python开发工具及环境配置_python_在windows下安装配置python开发环境及Ulipad开发工具...

    最近开始学习Python,在网上寻找一下比较好的IDE.因为以前用C#做开发的,用Visual Studio作为IDE,鉴于用惯了VS这么强大的IDE,所以对IDE有一定的依赖性. Python的ID ...

  2. Windows下安装自动化部署工具Fabric

    Windows下安装自动化部署工具Fabric 部署应用程序用FTP还是SCP还是rsync复制文件?如果你需要手动复制,用一次两次还行,一天如果部署50次不但慢.效率低,而且容易出错. 正确的部署方 ...

  3. windows下安装node版本管理工具及nvm use切换不成功问题解决

    windows下安装node版本管理工具及nvm use切换不成功问题解决 参考文章: (1)windows下安装node版本管理工具及nvm use切换不成功问题解决 (2)https://www. ...

  4. windows 下安装Chocolatey(强大的软件包管理工具)

    在 Linux 下,大家喜欢用 apt-get 来安装应用程序,如今在 windows 下,大家可以使用 Chocolatey 来快速下载搭建一个开发环境. Chocolatey 的哲学就是完全用命令 ...

  5. rocketmq安装,内存配置,各种命令说明,windows下安装,控制台工具

    1修改内存大小 以下只是设置实例: cd /home/bigdata/installed/rocketmq-all-4.2.0 (140机器) vim bin/runserver.sh (调整name ...

  6. Windows下安装Objective-C开发环境

    Windows下安装Objective-C开发环境 1.首先用GNUstep在windows下模拟object c开发环境. 官方网址:http://www.gnustep.org/ 百度云下载: 链 ...

  7. Windows下安装配置SubVersion的简明步骤

    Windows下安装配置SubVersion的简明步骤 [使用的安装程序和文档说明] svn-1.4.0-setup.exe:Subversion服务端1.4.0安装程序: SubService.ra ...

  8. java连接rabbitmq_Mac / Windows 下安装 RabbitMQ

      Java大联盟 致力于最高效的Java学习 关注 什么是 RabbitMQ ? RabbitMQ 是采用 Erlang 语言实现 AMQP(Advanced Message Queuing Pro ...

  9. windows下安装VIM

    全世界最好的编辑器VIM之Windows配置(gvim),vundle插件管理,NERDTree插件,ctrlp插件,vim-nerdtree-tabs插件等 .vim本来就是很强大,很方便的编辑器, ...

最新文章

  1. dotweb——go语言的一个微型web框架(二)启动dotweb
  2. 服务器安全:浏览器同源策略与跨域请求、XSS攻击原理及防御策略、如何防御CSRF攻击
  3. html所有页面根的对象,在django中显示来自所有用户的对象,无需登录到html页面...
  4. springboot pom文件添加mysql组件_SpringBoot+Mybatis 通过databaseIdProvider支持多数据库
  5. 客服顾问的工具箱--走出软件作坊:三五个人十来条枪 如何成为开发正规军(六)[转]...
  6. 背水一战 Windows 10 (55) - 控件(集合类): SemanticZoom, ISemanticZoomInformation
  7. 如何从Alfresco中提取Language Pack
  8. 分享17个网页设计中字体排版的优秀示例
  9. poj 2741 Colored Cubes(dfs暴力枚举)
  10. 【Robot Framework】字符串判断,if语句多执行条件,多执行语句
  11. 关于卷积,池化,前向传播,反向传播,全连接层,通道数的一些概念
  12. 面试官问如何优化慢 SQL ?(附两万字SQL面试题)
  13. 一.用matlab生成想要的分布数据——均匀分布
  14. 使用wagtail搭建cms的安装流程
  15. 便利店“三方会战”,谁是最后赢家?
  16. 多角度了解ABeam(德硕)技术架构
  17. Java 图像处理框架-Marvin
  18. 三、python调用打印机,打印文字
  19. SMTP-POP3协议简介以及使用Telnet客户端收/发邮件(163邮箱)
  20. NLP( 包括语音识别)

热门文章

  1. PowerShell-6.文件操作
  2. PowerShell-5.网络请求
  3. 设计模式-备忘录模式
  4. POJ1258最小生成树简单题
  5. hdu4882 水贪心
  6. 【错误记录】Android Studio 运行报错 ( There is not enough memory to perform the requested operation. )
  7. 【错误记录】Android 编译时技术报错 ( 注解处理器 process 方法多次调用问题 )
  8. 【计算机网络】传输层 : 总结 ( TCP / UDP 协议 | 寻址与端口 | UDP 协议 | TCP 协议特点 | TCP 连接释放 | TCP 流量控制 | TCP 拥塞控制 ) ★★★
  9. Docker常用操作命令
  10. NOJ——1672剪绳子(博弈)