安装故障排除¶
如果你遇到的问题不在这里列出,请报告以便修复或找到解决方法!
服务器日志位于 mygame/server/logs/
。要在终端中轻松查看服务器日志,你可以运行 evennia -l
,或使用 evennia start -l
或 evennia reload -l
启动/重载服务器。
检查你的要求¶
任何支持 Python3.10+ 的系统都应该可以运行。
Linux/Unix
Windows (Win7, Win8, Win10, Win11)
Mac OSX (建议 >10.5)
Python (测试过 3.10, 3.11 和 3.12,推荐 3.12)
Twisted (v23.10+)
ZopeInterface (v3.0+) - 通常包含在 Twisted 包中
Linux/Mac 用户可能需要
gcc
和python-dev
包或等效包。Windows 用户需要 MS Visual C++ 和 可能 需要 pypiwin32。
Django (v4.2+),请注意最新的开发版本通常未经 Evennia 测试。
GIT - 如果你想安装源代码,这个版本控制软件是必需的(但也有助于跟踪你自己的代码)
Mac 用户可以使用 git-osx-installer 或 MacPorts 版本。
位置混淆(GIT 安装)¶
在进行 Git 安装 时,有些人可能会混淆并将 Evennia 安装在错误的位置。按照说明(并使用 virtualenv)后,文件夹结构应如下所示:
muddev/
evenv/
evennia/
mygame/
Evennia 的库代码位于 evennia/evennia/
(两层下)。你不应该更改这个;所有工作都应在 mygame/
中进行。你的设置文件是 mygame/server/conf/settings.py
,而父设置文件是 evennia/evennia/settings_default.py
。
Virtualenv 设置失败¶
在执行 python3.x -m venv evenv
(其中 x 是 python3 版本)步骤时,一些用户报告收到错误;类似于:
Error: Command '['evenv', '-Im', 'ensurepip', '--upgrade', '--default-pip']'
returned non-zero exit status 1
你可以通过安装 python3.11-venv
(或更高版本)包(或适用于你的操作系统的等效包)来解决此问题。或者,你可以这样引导它:
python3.x -m --without-pip evenv
这应该可以在没有 pip
的情况下设置 virtualenv。激活新的 virtualenv,然后从中安装 pip(激活 virtualenv 后,你不需要指定 python 版本):
python -m ensurepip --upgrade
如果失败,可以尝试一个更糟糕的替代方法:
curl https://bootstrap.pypa.io/get-pip.py | python3.x (仅限 linux/unix/WSL)
无论哪种方式,你现在应该可以继续安装。
找不到 Localhost¶
如果在尝试连接到本地游戏时 localhost
不起作用,请尝试 127.0.0.1
,这与 localhost
是相同的。
Linux 故障排除¶
如果在安装 Evennia 时出现错误(尤其是提到无法包含
Python.h
的行),请尝试sudo apt-get install python3-setuptools python3-dev
。安装后,再次运行pip install -e evennia
。在进行 git 安装 时,一些未更新的 Linux 发行版可能会出现关于
setuptools
版本过旧或缺少functools
的错误。如果是这样,请使用pip install --upgrade pip wheel setuptools
更新你的环境。然后再尝试pip install -e evennia
。一位用户报告在 Ubuntu 16 上安装 Twisted 时出现了一个罕见的问题;
Command "python setup.py egg_info" failed with error code 1 in /tmp/pip-build-vnIFTg/twisted/
并伴有distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('incremental>=16.10.1')
等错误。似乎可以通过简单地更新 Ubuntu 来解决此问题,使用sudo apt-get update && sudo apt-get dist-upgrade
。Fedora 用户(尤其是 Fedora 24)报告了一个
gcc
错误,称目录/usr/lib/rpm/redhat/redhat-hardened-cc1
缺失,尽管gcc
本身已安装。确认的解决方法 似乎是安装redhat-rpm-config
包,例如使用sudo dnf install redhat-rpm-config
。一些尝试在 NTFS 文件系统上设置 virtualenv 的用户发现由于不支持符号链接而失败。答案是不使用 NTFS(说真的,为什么要这样对自己?)
Mac 故障排除¶
一些 Mac 用户报告无法连接到
localhost
(即你的计算机)。如果是这样,请尝试连接到127.0.0.1
,这与localhost
是相同的。从 mud 客户端使用端口 4000,从 web 浏览器使用端口 4001。如果在启动 Evennia 或查看日志时出现
MemoryError
,这可能是由于 sqlite 版本问题。我们论坛上的一位用户 找到了一个有效的解决方案。这里 是另一种解决方法。另一位用户 还撰写了关于此问题的详细总结,并附有故障排除说明。
Windows 故障排除¶
如果你使用
pip install evennia
安装后发现evennia
命令不可用,运行py -m evennia
一次。这应该会将 evennia 二进制文件添加到你的环境中。如果失败,请确保你正在使用 virtualenv。最坏的情况下,你可以在使用evennia
命令的地方继续使用py -m evennia
。如果在安装后直接尝试运行
evennia
程序时收到command not found
,请尝试关闭 Windows 控制台并重新启动(如果使用 virtualenv,请记得重新激活它!)。有时 Windows 没有正确更新其环境,evennia
只会在新控制台中可用。如果你安装了 Python 但
python
命令不可用(即使在新控制台中),那么你可能错过了将 Python 安装到路径中。在 Windows Python 安装程序中,你会看到一个选项列表,列出了要安装的内容。大多数或所有选项都是预选的,除了这个选项,你甚至可能需要向下滚动才能看到它。重新安装 Python 并确保选中它。从 Python 主页 安装 Python。你需要是 Windows 管理员才能安装软件包。如果你的 MUD 客户端无法连接到
localhost:4000
,请尝试等效的127.0.0.1:4000
。Windows 上的一些 MUD 客户端似乎不理解localhost
的别名。一些 Windows 用户在安装 Twisted ‘wheel’ 时遇到错误。Wheel 是一个预编译的 Python 二进制包。此错误的常见原因是你使用的是 32 位版本的 Python,但 Twisted 尚未上传最新的 32 位 wheel。最简单的解决方法是安装稍旧的 Twisted 版本。因此,如果版本
22.1
失败,请使用pip install twisted==22.0
手动安装22.0
。或者,你可以检查你使用的是 64 位版本的 Python,并卸载任何 32 位版本。如果是这样,你必须deactivate
virtualenv,删除evenv
文件夹,并使用新的 Python 重新创建它。如果你进行了 git 安装,并且你的服务器无法启动,出现类似
AttributeError: module 'evennia' has no attribute '_init'
的错误消息,这可能是一个 python 路径问题。在终端中,cd 到(你的 python 目录)\site-packages
并运行命令echo "C:\absolute\path\to\evennia" > local-vendors.pth
。在你喜欢的 IDE 中打开创建的文件,并确保它以 UTF-8 编码保存,而不是 UTF-8 with BOM。一些用户报告在 Windows WSL 和杀毒软件在 Evennia 开发期间出现问题。超时错误和无法运行
evennia connections
可能是由于杀毒软件干扰。尝试禁用或更改杀毒软件设置。