如何在你的系统上实现MoinMoin的基本安装
目录
在你把MoinMoin整合到网络环境之前,必须使用Python标准的distutils机制(setup.py')安装MoinMoin源代码和数据文件。本页面向你解释其一般实现步骤。对于distutils安装的详细过程,请参考你的Python文档 Installing Python Modules。
在Windows下和Linux下的安装过程是类似的,简单起见,我们在此文档中以"Linux"为例。
我们使用类似> command arguments这样的文字来表示你应该在命令行(或者shell, 终端等)下输入的命令。 在我们的例子中,> 是提示符,你不需要输入它,需要输入的是跟在它后面的文字。不是以> 开头的那些行表示输入命令后得到的结果。请仔细阅读。
检查Python是否正常工作
MoinMoin需要Python才能运行,所以第一步就是要检查是否安装了可以使用的Python版本以及安装是否正确。如果有问题,你必须先修复它。
在MoinMoin归档中的"CHANGES"文件中给出了需要的Python版本。Python2.3是MoinMoin 1.5所需要的最低版本,但是我们建议你使用最新的Python版本。
你可以在 http://www.python.org/download/下载Python。
如果你非常肯定已经安装了可接受的Python版本,但是下面的命令却不能正常工作,那么可能是因为你的Python文件不在搜索路径中。关于正确设置所索路径,已经超出了本文档的范围了;请在你喜欢的Python,Linux,或者Window讨论区提问。
如果你可以使用shell,检查Python的状态就非常简单了。只要输入下面的命令,然后看看结果就可以:
> python -V Python 2.3.4
如果你不能使用shell,可以使者使用下面这个pythontest.cgi脚本(假设你使用的是Linux类型的网络服务器)。将此脚本上载到你的cgi-bin目录,使用chmod a+rx pythontest.cgi(或者在你的FTP程序中类似的命令)将此脚本变为可执行文件,然后使用网络浏览器调用它。
echo Content-Type: text/plain echo echo "Your web server is running as:" id echo "CGI scripts work" echo "Now we try to invoke Python interpreters and get their versions:" python -V 2>&1 python2.3 -V 2>&1 python2.4 -V 2>&1 echo "Finished."
如果没有显示"CGI scripts work",那么CGI脚本没有正常工作。如果没有显示一个或者多个Python版本号,那么Python没有正确安装。这两种情况下,你必须与服务器的系统管理员联系以便修正这些问题。
在你已经完成了这里说明的../BasicInstallation,请一定要读一读 ../ApacheOnLinuxFtp。
下载MoinMoin
要下载发行包,请到 下载区 获得最近的归档。
下一步是解压发行包(如果你现在读的这些文字在硬盘上,说明你已经上完成了此项工作)。如果你在网络上读到这些文字,发行包是一个 带有版本号的.tar.gz压缩包,你可以按照下面的方法来解压。
- 在Window下
- 在Linux下
- 你可以使用喜欢的文件管理器 -- 它应该可以解压它们。
在任意shell提示符下,你可以使用tar命令。
发行包通常会解压到一个名字为moin-<verion>的目录下,比如moin-1.5。
这个例子演示你如何(使用GNU tar)解压发行包,并进入MoinMoin文件所在的目录:
> tar xzf moin-1.5.0.tar.gz > cd moin-1.5.0
安装 MoinMoin
你可以将MoinMoin安装到以下任意一个目录:
- 系统目录(如果你有权限这样做 -- 在Linux上你必须是根用户)
某一指定位置,比如你的home目录(Linux)或者C:\moin (Windows)。
安装到系统目录比较容易,所以尽量选择这种方式。
如果你安装了多个版本的Python,请使用相同版本的Python来安装和运行wiki。通常,最新版的Python会有最好的结果。
如果你在安装中使用setup.py有问题,请试一下这个命令:
> python -v setup.py --quiet install --record=install.log
附加的-v标志会给你提供安装过程中每一步的详细信息。
在Linux上,如果得到类似Invalid Python installation: cannot find /usr/lib/Python2.x/config/Makefile的错误,可能是因为没有安装Python模块distutils,它通常是Python开发库 (python-dev)的一部分。一些Linux发行版可能缺省状态下没有安装它。例如,在Mandrake上,你要安装python-devel 包, 在Debian上它的名字是python-dev.
安装到系统默认位置
> python setup.py --quiet install --record=install.log
这个命令把MoinMoin安装系统默认位置(一般是Python目录,例如在Linux下,在/usr/lib和/usr/share里)。在install.log文件里可以看到安装的你容以及安装位置。
- Mac OS X 注意:使用下面的命令:
python setup.py install --install-data='/usr/local'
它把共享文件安装到'/usr/local/share/moin',取代不方便的系统目录。
安装到home目录或者其他指定位置
Linux例子,安装到home目录:
> python setup.py --quiet install --prefix=$HOME --record=install.log
Windows例子,安装到C:\moin目录:
> python setup.py --quiet install --prefix="C:\moin" --record=install.log
所有的MoinMoin文件将被安装到这些目录中,install.log记录着那些文件被安装以及它们的安装位置。
注意: 你可能会看到下面的警告: warning: install: modules installed to 'C:\moin\', which 警告中给出了信息,你需要把你的安装目录增加到Python的搜索路径中,否则它没法找到MoinMoin代码。 比如,如果你使用网络服务器和标准CGI,那么编辑moin.cgi,把你的安装目录增加到Python路径中,就像这样:
最后一步,如果你能使用shell或者命令行,可以检查安装是否正确可以运行。运行Python并输入import MoinMoin。对此命令应该没有任何东西显示。例如: 如果你得到这样的结果: 那么你不得不调整你的安装了。试着像上面所说的那样修改sys.path。
现在,你有一个随时可以运行的MoinMoin了。祝贺你!在继续配置它之前,看一看已经被安装的文件以及它们所在的目录。 这一步很重要,你应该了解MoinMoin安装中使用的不同目录,所以请仔细阅读。 在下面的描述中,PREFIX是随setup.py一起使用的选项,或者如果你没有使用--prefix选项时的默认位置。(一般Linux上的默认位置 是/usr and /usr/local)X.Y是Python的版本。一般是2.3或者2.4。 看一看install.log,找到下面这些重要的位置: MoinMoin 目录,通常是PREFIX/lib/pythonX.Y/site-packages/MoinMoin - 这是 MoinMoin share 目录,通常是PREFIX/share/moin - 这是 data 目录 (wiki pages, users, etc.) - 只有MoinMoin能够访问它。 underlay 目录 (wiki pages) - 只有MoinMoin能够访问它。 htdocs 目录以及html支持文件 (不同主题相应的图片等) - 网络服务器需要访问它。 server - MoinMoin 启动文件范例 (例如用于CGI的moin.cgi , 以及其他启动方法对应的启动文件) config - MoinMoin 配置文件范例 (例如wikiconfig.py) bin - 此目录下有一些脚本,可以帮你使用 MoinMoin shell命令。 在share目录我们谈到
is not in Python's module search path (sys.path) -- you'll
have to change the search path yourself import sys
sys.path.insert(0, 'C:/moin')
安装测试
> python
Python 2.3.4 (#1, May 29 2004, 17:05:23)
[GCC 3.3.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import MoinMoin
>>>
>>> import MoinMoin
Traceback (most recent call last):
File "<stdin>", line 1, in ?
ImportError: No module named MoinMoin
>>>
安装了什么
源代码的位置。