安装

踏上我们的旅程,从安装 MCDR 开始

备注

我们假设你对 Python 和 pip 有一些基本的了解

不了解也没关系,善用搜索引擎

环境依赖

Python 版本 PyPI 版本

MCDR 用 Python 3 编写和运行。确保你的 Python 版本至少为 3.9,并且安装了 pip

详情如下表所示

MCDR 版本

Python 依赖

< 2.10

>= 3.6

>= 2.10

>= 3.8

>= 2.15

>= 3.9

先等等

在一些教程中,你可能会听说要从 Github 下载 zip 文件并解压来使用 MCDR

然而,那并不是安装 MCDR 的正确方式——那些教程已经过时了。MCDR 自 2021 年初的 v1.0 版本开始,就不再使用源码安装了

小心

不要 下载 MCDR 的源码并直接运行,除非你是 MCDR 的开发者,并且你知道你在干什么

使用 pip 安装

MCDR 已上传至 PyPI。它理应能由如下命令安装:

pip install mcdreforged
pip3 install mcdreforged

并用如下命令升级:

pip install mcdreforged -U
pip3 install mcdreforged -U

验证安装是否成功:

mcdreforged
MCDReforged v2.15.7

对于国内用户,若在 pip 安装时出现了下载缓慢、网络不畅等网络问题,可以参考下文的 加速安装 小节来解决

外部管理的环境

如果你使用的是 Windows,上述命令应当能正常工作,MCDR 将被安装到全局环境中,你可以忽略本节内容

但是,在 Linux 和 Mac OS 中,我们不建议全局(使用 root)安装 MCDR,因为它可能会与其他 Python 包产生冲突,并可能影响系统依赖

全局安装也使得版本管理变得困难,并且需要管理员权限,增加了安全风险

全局安装甚至可能导致 externally-managed-environment 错误

关于 externally-managed-environment 错误的动画演示

详见 PEP 668

为了安全起见,最好将 MCDR 安装在一个与全局环境相隔离的环境中。有如下几种方案可供参考:

方式

优点

缺点

pip

原生支持,总是可用

非隔离环境,root 使用时可能影响全局包

pipx

易于使用

第三方工具,命令不同

venv

原生支持

需要手动激活环境

docker

多环境下一致可靠

更多依赖和磁盘空间,学习路线曲折

系统包

-

与 pip 相同,不推荐使用

使用 pipx

这也许是对大多数用户而言最简单的解决方案,但需要使用第三方工具 pipx。pipx 专为在隔离环境中安装和运行 Python 应用程序而设计

请先参考其 官方文档 安装 pipx

然后再使用 pipx 安装 MCDR:

pipx install mcdreforged

在 MCDR 发布新版本后,你可以通过以下命令升级:

pipx upgrade mcdreforged

备注

如此一来,MCDR 将被安装在一个 pipx 管理的隔离环境中。要将 Python 包安装到此环境中,不应该使用 pip install <包名称>,而应该使用:

  • pipx inject mcdreforged <包名称>,例如 pipx inject mcdreforged requests

  • pipx inject mcdreforged -r requirements.txt

当然,也可以用 !!MCDR plg 命令 更轻松地安装插件及其依赖

使用虚拟环境

这是最原生但更复杂的方法,你可以创建一个虚拟环境,并在其中安装 MCDR

通过以下命令创建虚拟环境:

python3 -m venv <venv directory>

例如使用 venv 作为虚拟环境的部署路径

python3 -m venv venv

然后通过以下命令激活虚拟环境:

平台

Shell

激活虚拟环境的命令

POSIX

bash/zsh

source venv/bin/activate

fish

source venv/bin/activate.fish

csh/tcsh

source venv/bin/activate.csh

PowerShell

venv/bin/Activate.ps1

Windows

cmd.exe

venv\Scripts\activate.bat

PowerShell

venv\Scripts\Activate.ps1

参见

Python 文档: 虚拟环境是如何实现的

在虚拟环境激活后,你的终端环境中应当出现一个 (venv) 前缀

然后,你可以直接使用 pip 安装 MCDR:

pip install mcdreforged

在 MCDR 发布新版本后,你可以通过以下命令升级:

pip install mcdreforged -U

使用 bash 的动画演示:


备注

这样一来,每当你需要使用 MCDR,或要为 MCDR 插件安装 Python 包依赖时,你都需要激活虚拟环境

更多信息,参见 Python 文档:虚拟环境的创建

使用 Docker

MCDR 还提供了 Docker 镜像。参见 Docker 一章

除了最基础的 MCDR 镜像外,MCDR 还提供了预安装有额外 Python 包 / OpenJDK 的镜像变体

与上述两种方法相比,Docker 的学习路线更曲折,但更适合一些高级用法

系统包管理器

你可以在一些系统包仓库(例如 AUR)中找到 MCDR。但,非常不建议 使用系统包管理器来安装 MCDR。系统包安装不仅与全局 pip 安装有同样的问题,而且很难管理 MCDR 插件的依赖

加速安装

中国用户可以使用 PyPI 镜像来加速 pippipx。例如使用 清华大学 TUNA 镜像

长话短说,只需在命令中添加 -i <index-url> 参数,即可使用 TUNA 镜像:

pipx install -i https://pypi.tuna.tsinghua.edu.cn/simple mcdreforged
pipx upgrade -i https://pypi.tuna.tsinghua.edu.cn/simple mcdreforged
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mcdreforged
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple mcdreforged -U

你也可以通过以下命令设置全局索引,一劳永逸:

pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple