“云端的编辑器”,10 步安装 Bespin Development Server(Python版)

Mozilla Labs 在今年情人节那天发布了一个叫 Bespin 的编辑器,这是一个基于网络的可扩展文本编辑器,按照现在流行的说法,就是“云编辑”了。并且,这个编辑器是开源的。

图片附件

Bespin 是基于 Canvas 的,因此目前它只支持少数浏览器,其中包括 Firefox 3+、Safari 4 以及 Chrome 2 开发版,因此,如果要使用 Bespin 的话,你必须使用这几款浏览器中的一种。

要体验 Bespin,可以直接在 bespin.mozilla.com 注册一个帐号并且登录,不过目前 bespin.mozilla.com 所用的代码并不是最新版本的,线上使用的代码有许多不完善之处。因此,除了使用 Mozilla Labs 官方的 Bespin 站点,我们也可以从 Mozilla Labs 下载 Bespin 源代码,并在本地搭建 Bespin 服务,从而可以体验 Mozilla Labs 最新的开发成果。

注意,这篇文章并不介绍怎么去使用 Bespin,而是介绍怎么样去配置一个可以在本地运行的 Bespin 服务器,因此,如果你需要了解怎么去使用这个编辑器,可以参阅 Mozilla Labs 上的文档,或者等我再写一篇使用 Bespin 的文章:)

准备工作

首先需要说明的是,这里介绍的配置 Bespin 本地服务器的环境是 Windows Vista(or WinXP) + Python。另外,如果是在 Vista 中安装 Bespin Server,你使用管理员权限来运行 cmd。

第 1 步:在这里把 Bespin 的源代码下载下来,然后解压到任意目录,我这里解压到的是“D:\Source\Bespin\bespin-8b89188c5066”。

第 2 步:这篇文章介绍的是 Python 版 Bespin 服务器的配置,因此还需要安装 Python 解释器,可以在这里下载到 Python 2.5.4,使用默认设置安装即可。

第 3 步:在 bespin 源代码目录中新建一个目录 Scripts,这个目录与 backend 和 frontend 两个目录是平级的。然后到 Python 的安装目录下,将安装目录下的 msvcr71.dll、python.exe、python25.dll、pythonw.exe 四个文件拷贝到前面建立的 Script 目录中。

第 4 步:将 Python 安装目录中的 libs 目录拷贝到 bespin 源代码目录中。

第 5 步:Bespin Python 服务器所用的有些组件是使用 C 写的,在 Windows 上要编译与 Python 兼容的 C 扩展,需要使用 MinGW,下载以下这些压缩包,解压到 D:\Tools\MinGW,这里解压的位置可以自己选,但是后面要用到,所以请记住你解压的路径:

http://nchc.dl.sourceforge.net/sourceforge/mingw/binutils-2.19.1-mingw32-bin.tar.gz
http://nchc.dl.sourceforge.net/sourceforge/mingw/gcc-g++-3.4.5-20060117-3.tar.gz
http://nchc.dl.sourceforge.net/sourceforge/mingw/gcc-core-3.4.5-20060117-3.tar.gz
http://nchc.dl.sourceforge.net/sourceforge/mingw/w32api-3.13-mingw32-dev.tar.gz
http://nchc.dl.sourceforge.net/sourceforge/mingw/mingwrt-3.15.2-mingw32-dev.tar.gz

开始安装

第 1 步:打开 cmd,进入 bespin 源代码目录,运行:

bootstrap.py --no-site-packages

这个命令会下载必须的模块源代码,并且进行安装。在运行到最后时会报一个错:

IOError: [Errno 2] No such file or directory: '/d:\\source\\bespin\\bespin-8b89188c5066\\ext\\paste-1.7.3dev-r7791.tar.gz'

这时需要用文本编辑器打开 Bespin 源代码目录中的“Lib\site-packages\pip-0.3.1-py25.egg\pip.py”,注意,这里所用的文本编辑器必须支持 UNIX 换行模式,也就意味着不要使用 Windows 记事本来编辑 pip.py,而是使用诸如 EditPlus、UltraEdit 等编辑器来编辑。

打开 pip.py 后使用搜索功能定位到 unpack_file 方法,搜索“def unpack_file”即可。找到这个方法后,在方法定义的下一行添加下面这样一句代码:

filename = filename.lstrip('/')

第 2 步:再在 pip.py 搜索“Running setup.py install for %s”定位到模块安装代码:

   try:
            call_subprocess(
                [sys.executable, '-c',
                 "import setuptools; __file__=%r; execfile(%r)" % (self.setup_py, self.setup_py),
                 'install', '--single-version-externally-managed', '--record', record_filename,
                 '--install-headers', header_dir] + install_options,
                cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
        finally:
            logger.indent -= 2

在 try 的后面添加下面 CODE TO ADD START 与 CODE TO ADD END 之间的代码,用来设置默认编译器为 mingw32:

     try:
        ## CODE TO ADD START ##
        call_subprocess(
            [sys.executable, '-c',
             "import setuptools; __file__=%r; execfile(%r)" % (self.setup_py, self.setup_py),
             'setopt', '--command=build', '--option=compiler', '--set-value=mingw32'],
            cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
        ## CODE TO ADD END ##
            call_subprocess(
                [sys.executable, '-c',
                 "import setuptools; __file__=%r; execfile(%r)" % (self.setup_py, self.setup_py),
                 'install', '--single-version-externally-managed', '--record', record_filename,
                 '--install-headers', header_dir] + install_options,
                cwd=self.source_dir, filter_stdout=self._filter_install, show_stdout=False)
        finally:
            logger.indent -= 2

在修改的时候注意缩进,因为 Python 就靠缩进来判断代码结构了。修改完成后保存 pip.py。

第 3 步:回到 cmd 中,先设置一下环境变量,将 MniGW 的路径添加到 PATH 环境变量中,注意,这里的路径要与你解压 MinGW 时的路径一致:

set path=D:\Tools\MinGW\bin;%PATH%

然后再次运行:

bootstrap.py --no-site-packages

这次就可以正确安装了,最后会提示安装完成:

Installed d:\source\bespin\bespin-8b89188c5066\backend\python
Processing dependencies for BespinServer==tip
Finished processing dependencies for BespinServer==tip

第 4 步:在 cmd 中运行 Scripts\activate.bat,这个命令会设置当前的环境变量。

第 5 步:在 cmd 中运行

paver dojo create_db

这个命令会安装 dojo 库,然后运行:

paver start

cmd 中会提示:

---> pavement.start
serving on http://127.0.0.1:8080

恭喜,Bespin Server 已经成功启动!

体验 Bespin

打开浏览器,在地址栏中输入 http://localhost:8080/ 马上开始体验 Bespin:)

by Xu Jiwei

发表评论?

0 条评论。

发表评论


注意 - 你可以用以下 HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>