使用 Homebrew 安装 Python 的终极指南:告别系统 Python 的烦恼
Python,作为当今世界上最受欢迎的编程语言之一,被广泛应用于 Web 开发、数据科学、人工智能、自动化脚本等多个领域。对于 macOS 用户来说,系统自带了 Python 版本。然而,这个系统自带的 Python(通常位于 /usr/bin/python
或 /usr/bin/python3
)往往版本较旧,并且不建议用户直接修改或在其上安装第三方库,因为它可能被 macOS 系统本身或某些系统工具所依赖。直接在其上进行操作,轻则导致库冲突,重则可能破坏系统稳定性。
那么,如何在 macOS 上安装和管理多个 Python 版本,同时保持系统的纯净和稳定呢?答案就是使用一个强大的包管理器——Homebrew。
Homebrew 是 macOS 上缺失的包管理器,它允许你轻松地安装、更新、管理各种命令行工具和应用程序(包括 Python)。使用 Homebrew 安装的 Python 版本独立于系统自带的 Python,安装路径通常位于 /usr/local
或 /opt/homebrew
下,这使得你可以自由地安装库、切换版本,而无需担心影响系统。
本文将手把手教你如何利用 Homebrew 安装 Python,并深入探讨相关的最佳实践、版本管理以及常见问题解决方案。无论你是 Python 新手还是有经验的开发者,本文都将为你提供一套清晰、可靠的 Python 安装与管理方案。
第一步:了解前提条件与准备工作
在开始使用 Homebrew 安装 Python 之前,请确保你的 macOS 系统满足以下条件并完成必要的准备:
- macOS 系统: Homebrew 主要面向 macOS 用户。本文将基于 macOS 环境进行讲解。
- 基本的终端(Terminal)使用能力: 你需要打开终端应用程序,并输入一些命令行指令。终端可以在“应用程序”->“实用工具”中找到。
- 安装 Xcode Command Line Tools: Homebrew 及其安装的许多软件包(包括 Python)在编译或运行时需要依赖 Xcode 的命令行工具。如果你的系统尚未安装,可以通过终端输入以下命令来安装:
bash
xcode-select --install
这将弹出一个软件安装窗口,按照提示完成安装即可。如果已经安装,系统会提示“command line tools are already installed”。 - 安装 Homebrew: 这是最核心的前提。如果你还没有安装 Homebrew,请先按照下面的步骤进行安装。
第二步:安装 Homebrew (如果已安装,可跳过此步)
Homebrew 的安装过程非常简单,只需要在终端中执行一行命令即可。
访问 Homebrew 官方网站 https://brew.sh/
,你会看到如下所示的安装命令(请注意,官方网站上的命令可能会更新,建议始终以官网提供的最新命令为准):
bash
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装步骤详解:
- 打开终端应用程序。
- 复制 Homebrew 官方网站上提供的安装命令。
- 将命令粘贴到终端中,然后按回车键执行。
- 安装脚本会首先提示你需要安装 Xcode Command Line Tools(如果你之前没有安装),请按照提示安装。
- 脚本会告诉你它将要做什么,包括安装路径(在 Apple Silicon Macs 上默认是
/opt/homebrew
,在 Intel Macs 上默认是/usr/local
)以及将要创建的目录等。你需要按回车键确认,并可能需要输入你的用户密码(输入时密码不会显示,正常输入即可)。 - 安装过程可能需要一些时间,具体取决于你的网络速度。脚本会自动下载所需的文件并进行安装。
- 安装完成后,脚本可能会提示你将 Homebrew 的
bin
目录添加到系统的PATH
环境变量中,以便系统能够找到 Homebrew 的命令(如brew
)。对于新的 Homebrew 安装,它通常会自动处理好PATH
设置,特别是对于 zsh (macOS Catalina 及更高版本的默认 shell) 用户。它可能会提示你在.zprofile
,.zshrc
,.bash_profile
或.bashrc
文件中添加相应的eval
或export
命令。请务必按照安装脚本的提示操作,将 Homebrew 的路径正确添加到你的 shell 配置文件中。 例如,对于 zsh 用户,你可能需要在~/.zprofile
文件中添加类似如下的行:
bash
eval "$(/opt/homebrew/bin/brew shellenv)"
(请注意/opt/homebrew
是 Apple Silicon Macs 的默认路径,Intel Macs 可能是/usr/local
。请根据你的实际安装路径和 Homebrew 脚本的提示来添加。) - 添加
PATH
后,需要重新加载你的 shell 配置文件,或者关闭并重新打开终端窗口,使设置生效。例如,如果你修改了~/.zprofile
,可以在终端中执行source ~/.zprofile
。
验证 Homebrew 安装:
安装完成后,可以通过以下命令验证 Homebrew 是否安装成功并工作正常:
- 检查 Homebrew 版本:
bash
brew --version
如果成功,将显示 Homebrew 的版本信息。 - 运行
brew doctor
:
bash
brew doctor
这个命令会检查你的 Homebrew 安装是否存在潜在问题,并提供修复建议。理想情况下,它应该报告“Your system is ready to brew.” 如果有警告或错误,请尝试按照提示进行修复。
第三步:使用 Homebrew 安装 Python
Homebrew 提供了安装 Python 的多种选项。你可以安装最新稳定版本的 Python 3,也可以安装特定的旧版本。
选项一:安装最新稳定版本的 Python 3
这是最常见的需求。Homebrew 通常会将 python
这个“formula”(Homebrew 对安装包的称呼)指向最新的稳定 Python 3 版本。
在终端中执行以下命令:
bash
brew install python
安装过程详解:
- 执行命令后,Homebrew 会首先更新自身的 formula 定义,以确保你安装的是最新的可用版本。
- 然后,Homebrew 会查找
python
formula,并确定其依赖项。 - 它会下载预编译的二进制包(称为 “bottle”),如果找不到或用户指定了
--build-from-source
选项,则会从源代码编译。 - 下载和安装过程会自动进行。Homebrew 会将 Python 安装到其 Cellar 目录下(例如
/opt/homebrew/Cellar/[email protected]/3.xx.y
)。 - 安装完成后,Homebrew 会在
/opt/homebrew/bin
(或/usr/local/bin
) 目录下创建指向新安装的 Python 可执行文件及其相关工具(如pip3
)的符号链接(symlinks)。
验证安装:
安装完成后,验证非常重要,特别是确认系统正在使用 Homebrew 安装的 Python,而不是系统自带的 Python。
-
检查 Python 版本:
bash
python3 --version
或者,如果你安装的是 Homebrew 设置为默认的python
formula,也可以尝试:
bash
python --version
你应该看到 Homebrew 安装的 Python 版本号(例如Python 3.11.5
),而不是系统自带的旧版本。 -
检查 Python 可执行文件的路径:
使用which
命令可以查看当前 shell 环境下python3
(或python
)命令对应的可执行文件的完整路径。
bash
which python3
理想情况下,你应该看到路径指向 Homebrew 的安装目录,例如:
/opt/homebrew/bin/python3
或者
/usr/local/bin/python3
如果显示的路径是/usr/bin/python3
,这意味着你的系统仍然默认使用系统自带的 Python。这通常是由于PATH
环境变量配置不正确导致的。请参考第四步:管理 Python 版本与 PATH 环境变量进行排查和修复。
选项二:安装特定版本的 Python
有时,出于项目兼容性或测试的需要,你需要安装特定版本的 Python(例如 Python 3.9 或 3.10)。Homebrew 通过 python@<version>
的形式提供了对旧版本的支持。
例如,要安装 Python 3.9:
bash
brew install [email protected]
要安装 Python 3.10:
bash
brew install [email protected]
过程与验证:
安装特定版本的 Python 过程与安装最新版本类似。Homebrew 会将不同版本的 Python 安装到不同的 Cellar 子目录中。
验证时,需要注意的是,虽然你安装了特定版本,但 python3
或 python
默认可能仍然指向你之前安装的最新版本,或者系统自带的版本。
为了直接使用特定版本,你可以通过其完整路径或者创建符号链接,但更常见且推荐的方式是使用 python3.9
或 python3.10
这样的命令,或者通过虚拟环境来指定使用哪个 Python 版本。
-
检查特定版本是否安装成功:
bash
python3.9 --version
或
bash
python3.10 --version
你应该看到对应版本的输出。 -
检查特定版本可执行文件的路径:
bash
which python3.9
或
bash
which python3.10
路径应指向 Homebrew 的安装目录,例如/opt/homebrew/bin/python3.9
。
同时安装多个版本:
你可以使用 Homebrew 安装多个不同版本的 Python,例如同时安装 python
(最新版,例如 3.11) 和 [email protected]
。它们会并存,互不影响。如何在这多个版本之间“切换”使用,主要依赖于你的 PATH
环境变量和虚拟环境,这将在下一节详细讨论。
第四步:管理 Python 版本与 PATH 环境变量
使用 Homebrew 安装 Python 后,理解 PATH
环境变量以及 Homebrew 如何管理可执行文件的符号链接至关重要,尤其是在你安装了多个 Python 版本或者 which python
命令没有指向 Homebrew 安装路径时。
理解 PATH 环境变量:
PATH
是一个环境变量,它包含了一系列目录的列表。当你执行一个命令(例如 python3
)时,系统会按照 PATH
变量中列出的目录顺序,从左到右查找是否存在名为 python3
的可执行文件。找到第一个匹配项后,就会执行它。
Homebrew 安装的可执行文件通常位于 /opt/homebrew/bin
(Apple Silicon) 或 /usr/local/bin
(Intel) 目录下。为了让系统优先使用 Homebrew 安装的 Python 而非系统自带的 (/usr/bin/python
或 /usr/bin/python3
),你需要确保 Homebrew 的 bin 目录在你的 PATH
列表中位于系统默认路径 (/usr/bin
) 的前面。
检查 PATH 变量:
在终端中执行以下命令可以查看当前的 PATH
变量内容:
bash
echo $PATH
输出会是多个目录路径用冒号 :
分隔的字符串。例如:
/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:...
在这个例子中,/opt/homebrew/bin
在 /usr/bin
前面,这意味着 Homebrew 安装的命令会优先被找到和执行。如果 /usr/bin
或 /bin
出现在 Homebrew 路径的前面,那么系统自带的 Python 可能会被优先使用。
配置 PATH 环境变量:
在 Homebrew 安装时,通常会提示你添加或修改 shell 的配置文件(如 ~/.zprofile
, ~/.zshrc
, ~/.bash_profile
, ~/.bashrc
)来设置 PATH
。
-
对于 Zsh (macOS Catalina 及更高版本的默认 Shell): 检查
~/.zprofile
或~/.zshrc
文件。通常,Homebrew 会建议添加类似如下的行:
bash
eval "$(/opt/homebrew/bin/brew shellenv)"
或者手动添加:
bash
export PATH="/opt/homebrew/bin:$PATH"
确保这行位于文件靠前的位置,尤其是在任何可能修改PATH
的其他设置之前。 -
对于 Bash (较旧 macOS 版本或用户手动切换的 Shell): 检查
~/.bash_profile
或~/.bashrc
文件。添加类似如下的行:
bash
export PATH="/usr/local/bin:$PATH"
(请根据你的 Homebrew 安装路径调整/usr/local/bin
为/opt/homebrew/bin
)同样,确保这行靠前。
修改配置文件后的步骤:
- 使用文本编辑器(如
nano
,vim
,VS Code
等)打开对应的 shell 配置文件。 - 添加或修改
export PATH=...
或eval "$(brew shellenv)"
行。 - 保存文件。
- 重新加载配置文件: 在终端中执行
source ~/.zprofile
(或对应的文件)。或者直接关闭并重新打开终端窗口。 - 再次使用
echo $PATH
和which python3
(或which python
) 命令验证PATH
是否已正确设置以及 Homebrew Python 是否为默认。
Homebrew 的 Link/Unlink 机制 (了解即可,对于 Python 版本切换不推荐作为主要方法):
Homebrew 有一个 link
/unlink
机制。当你 brew install formula
时,Homebrew 会在 /opt/homebrew/bin
(或 /usr/local/bin
) 目录下创建指向 Cellar 中对应可执行文件的符号链接。brew unlink formula
会移除这些符号链接,而 brew link formula
则会重新创建它们。
理论上,你可以 unlink
一个版本的 Python,然后 link
另一个版本来实现切换。
bash
brew unlink [email protected] # 假设 3.11 是当前默认的
brew link [email protected] # 将 3.9 设置为默认(创建符号链接)
然而,对于 Python 的版本切换,这种方法 不推荐 作为主要手段。
- 复杂性: 如果你安装了多个 Python 版本(例如
python
,[email protected]
,[email protected]
),你需要频繁地unlink
和link
。 - 不彻底:
link
机制主要影响/opt/homebrew/bin
中的符号链接。它并不能很好地管理pip
安装的库(这些库安装在 Cellar 中的 site-packages 目录),也不能方便地在项目之间隔离依赖。 - 更好的工具: 专门的 Python 版本管理器(如
pyenv
)和虚拟环境(如venv
,virtualenv
)提供了更强大、更灵活、更推荐的方式来管理 Python 版本和项目依赖。
推荐的 Python 版本管理策略:
- 使用 Homebrew 安装你需要的 Python 版本: 通常是最新稳定版 (
brew install python
) 和/或特定旧版本 (brew install [email protected]
)。 - 确保 Homebrew 的 bin 目录在你的 PATH 中靠前: 这保证了当你执行
python3
命令时,会优先使用 Homebrew 安装的 Python 版本。 - 对于项目开发, 始终使用虚拟环境 (Virtual Environments): 这是最重要的最佳实践!虚拟环境允许你在项目目录中创建一个独立的 Python 环境,安装项目所需的特定版本的库,而不会与系统中其他项目或全局环境冲突。虚拟环境通常会包含一个指向某个特定 Python 版本可执行文件的符号链接。当你激活虚拟环境时,该环境的
bin
目录会被临时添加到PATH
的最前面,从而确保在该终端会话中执行python
或python3
时使用的是该虚拟环境指定的 Python 解释器。
第五步:使用 Pip 和虚拟环境 (venv)
Homebrew 安装的 Python 通常会自带与其版本兼容的 pip
(Python 包管理器)。pip
用于安装、升级和管理 Python 包。
验证 Pip 安装:
使用 which pip
和 pip --version
命令验证 pip
是否可用,并且指向 Homebrew 安装的 Python 版本。
bash
which pip3
pip3 --version
或者根据你的安装情况使用 pip
:
bash
which pip
pip --version
你应该看到 pip
的路径在 Homebrew 目录下,并且版本信息指示它属于 Homebrew 安装的某个 Python 版本。
使用 Pip 安装包:
使用 Homebrew 安装的 Python 后,就可以使用 pip
安装第三方库了。
bash
pip install requests
注意: 强烈建议 不要 在全局 Homebrew Python 环境中直接安装大量库。 这样做会污染全局环境,并可能导致不同项目之间的库版本冲突。这正是使用虚拟环境的原因。
使用虚拟环境 (venv):
Python 3.3+ 内置了 venv
模块,可以轻松创建虚拟环境。
创建虚拟环境:
- 导航到你的项目目录:
bash
cd your_project_folder - 使用 Homebrew 安装的 Python 来创建虚拟环境。通常使用
-m venv
模块。你可以指定环境的名称,例如venv
或.venv
。
bash
python3 -m venv venv_name
这里的python3
将指向 Homebrew 安装的默认 Python 版本(因为它在PATH
中靠前)。如果你想使用 Homebrew 安装的特定版本(例如 3.9)来创建环境,可以使用其对应的命令:
bash
python3.9 -m venv venv_name_for_39
执行该命令后,会在当前目录下创建一个名为venv_name
(或你指定的名称) 的文件夹。
激活虚拟环境:
创建虚拟环境后,你需要“激活”它才能在该环境中使用其独立的 Python 解释器和库。
bash
source venv_name/bin/activate
激活成功后,你的终端提示符通常会显示虚拟环境的名称(例如 (venv_name) Your-Mac-Name:~ $
)。
在虚拟环境中安装包:
虚拟环境激活后,在该终端会话中执行 python
或 python3
以及 pip
或 pip3
命令时,都会优先使用该虚拟环境中的可执行文件。
现在,你可以安全地安装项目所需的库了:
bash
pip install requests beautifulsoup4 Django
这些库将只安装在当前激活的虚拟环境中,不会影响系统的 Python 或其他虚拟环境。
验证虚拟环境:
激活虚拟环境后,再次使用 which python
和 which pip
验证:
bash
which python
which pip
你会发现它们的路径都指向虚拟环境目录内部(例如 /path/to/your_project_folder/venv_name/bin/python
)。
退出虚拟环境:
完成工作或离开项目目录时,可以使用以下命令退出当前激活的虚拟环境:
bash
deactivate
终端提示符将恢复正常。
总结虚拟环境的重要性:
使用 Homebrew 安装 Python 提供了一个干净、独立的 Python 解释器,而使用虚拟环境则进一步为每个项目提供了一个独立的、隔离的开发环境。这两者结合是 macOS 上进行 Python 开发的标准和推荐方式。
第六步:更新和卸载 Homebrew 安装的 Python
随着 Python 版本的更新,你可能需要更新 Homebrew 安装的 Python。
更新 Python:
如果你安装的是 python
(最新稳定版),可以使用以下命令更新到最新的可用版本:
bash
brew upgrade python
如果你安装的是特定版本(例如 [email protected]
),可以使用以下命令单独更新该版本(如果 Homebrew 仓库中有更新的话):
bash
brew upgrade [email protected]
Homebrew 会下载新版本的 bottle 或源代码,并安装到新的 Cellar 子目录中。然后更新 /opt/homebrew/bin
(或 /usr/local/bin
) 中的符号链接以指向新版本(对于 python
formula)。对于特定版本如 [email protected]
,python3.9
命令会指向新版本。
卸载 Python:
如果你不再需要某个版本的 Python,可以使用以下命令卸载:
bash
brew uninstall python
或卸载特定版本:
bash
brew uninstall [email protected]
这会移除 Cellar 中对应版本的 Python 文件以及 /opt/homebrew/bin
(或 /usr/local/bin
) 中的相关符号链接。
清理旧版本:
当你升级 Python 后,旧版本仍然会保留在 Homebrew 的 Cellar 目录中。可以使用 brew cleanup
命令清理不再被任何 formula 依赖的旧版本文件:
bash
brew cleanup
你也可以指定清理某个 formula 的旧版本:
bash
brew cleanup python
第七步:故障排除和常见问题
在使用 Homebrew 安装和管理 Python 的过程中,可能会遇到一些问题。
1. which python
或 which python3
指向系统自带的 Python (/usr/bin
)
- 原因:
PATH
环境变量配置不正确,系统自带的 Python 路径在 Homebrew Python 路径前面。 - 解决方案:
- 检查并编辑你的 shell 配置文件 (
~/.zprofile
,~/.zshrc
,~/.bash_profile
, etc.)。 - 确保
export PATH="/opt/homebrew/bin:$PATH"
(或/usr/local/bin:$PATH
) 这行存在,并且位于任何可能修改PATH
的其他设置之前。 - 保存文件,然后执行
source ~/.your_shell_config_file
或重新打开终端。 - 再次运行
echo $PATH
和which python3
进行验证。
- 检查并编辑你的 shell 配置文件 (
- Homebrew 的
shellenv
: 确认你按照 Homebrew 安装时的提示,在配置文件中添加了eval "$(brew shellenv)"
。这是 Homebrew 推荐的设置PATH
的方式。执行brew shellenv
可以看到它输出的需要添加到环境变量中的内容。
2. 安装失败:
- 网络问题: 确保你的网络连接正常。Homebrew 需要从 GitHub 下载 formula 和 bottle。
- Xcode Command Line Tools 未安装或版本过旧: 运行
xcode-select --install
并确保安装成功。 - 权限问题: Homebrew 默认安装在用户目录下(
/opt/homebrew
或/usr/local
),通常不需要sudo
。如果安装到其他位置可能需要sudo
,但这不推荐且可能导致后续权限问题。确保你的 Homebrew 安装路径具有正确的用户权限。运行brew doctor
检查权限问题。 - 依赖问题: Homebrew 会自动处理依赖,但偶尔也可能出现问题。尝试先运行
brew update
和brew upgrade
更新 Homebrew 及其已安装的包,然后再尝试安装 Python。如果特定 formula 安装失败,可以尝试brew install -v --debug formula
查看详细的编译输出进行排查。
3. pip
命令找不到或属于错误的 Python 版本:
- 原因: 同样是
PATH
环境变量的问题,导致系统找到了错误路径下的pip
可执行文件。或者你可能安装了多个 Python 版本,但pip
命令没有明确指向你想要的版本。 - 解决方案:
- 确保 Homebrew Python 的
bin
目录在PATH
中靠前(见问题 1)。 - 推荐使用
pip3
或python3 -m pip
: 为了避免混淆,特别是在系统中可能存在多个 Python 版本时,使用pip3
或通过python3 -m pip install package_name
的方式更明确地指定是哪个 Python 解释器在执行pip
。如果你安装了特定版本的 Python (如 3.9),相应的pip
命令可能是pip3.9
。 - 在虚拟环境中,确保你已经激活了环境 (
source venv_name/bin/activate
)。激活后,直接使用pip install
即可,因为它会自动使用当前虚拟环境的pip
。
- 确保 Homebrew Python 的
4. brew doctor
报告警告或错误:
brew doctor
是 Homebrew 的内置诊断工具,非常有用。仔细阅读它输出的警告和错误信息,并按照提示进行修复。常见的警告包括:- 某些文件权限问题。
PATH
环境变量问题。- 某些依赖项未正确链接或安装。
- 其他潜在的环境冲突。
5. 如何在不同 Homebrew 安装的 Python 版本之间切换?
- 如前所述,不推荐频繁使用
brew unlink
/brew link
进行切换。 - 推荐方法 1 (PATH 优先级): 确保你想要默认使用的 Homebrew Python 版本(例如通过
brew install python
安装的最新版)其bin
目录 (/opt/homebrew/bin
) 在PATH
中优先。这样,当你输入python3
时,它会启动这个版本。 - 推荐方法 2 (使用
python3.x
命令): 直接使用特定版本的命令,例如python3.9 script.py
或python3.10 -m venv myenv
。 - 最推荐方法 3 (使用虚拟环境): 在不同的虚拟环境中使用不同 Homebrew Python 版本创建环境。例如
python3.9 -m venv myenv_39
和python3.10 -m venv myenv_310
。然后在需要使用哪个版本时,激活对应的虚拟环境。这是最灵活和隔离性最好的方法。 - 考虑使用
pyenv
: 如果你需要频繁地在 多个不同版本 的 Python 之间切换(包括一些 Homebrew 可能没有直接提供 formula 的版本),pyenv
是一个更专业的 Python 版本管理器,它可以与 Homebrew 结合使用(通常先用 Homebrew 安装pyenv
)。pyenv
提供了更强大的版本切换功能(如全局版本、目录版本、shell 版本)。Homebrew 擅长安装,pyenv
擅长切换。
第八步:Homebrew 安装 Python 的优势总结
回顾一下,为什么我们推荐使用 Homebrew 来安装 Python:
- 独立性: Homebrew 安装的 Python 与系统自带的 Python 完全隔离,避免了潜在的系统损坏风险。
- 版本管理: 可以轻松安装、更新和管理多个 Python 版本。
- 依赖处理: Homebrew 会自动处理 Python 及其相关工具(如 pip)的依赖项,简化安装过程。
- 统一管理: 你可以使用 Homebrew 管理 macOS 上的其他命令行工具,形成统一的包管理体验。
- 路径清晰: Homebrew 将所有文件安装在其固定目录下,结构清晰,易于管理(尽管需要正确配置 PATH)。
- 易于更新和卸载: 使用简单的
brew upgrade
和brew uninstall
命令即可完成操作。
结论
通过本文的详细介绍,你应该已经掌握了使用 Homebrew 在 macOS 上安装 Python 的全过程。从安装 Homebrew 本身,到安装特定或最新版本的 Python,再到最重要的 PATH
环境变量配置和虚拟环境的使用,我们涵盖了从入门到进阶的关键步骤和概念。
记住,在 macOS 上进行 Python 开发的最佳实践是:
- 使用 Homebrew 安装一个或多个所需的 Python 版本。
- 确保 Homebrew 的
bin
目录在你的PATH
中优先于系统路径。 - 对于每个项目,都创建一个独立的虚拟环境,并在此环境中安装项目所需的库。
遵循这些步骤,你将拥有一个干净、灵活、易于管理的 Python 开发环境,从而更高效地进行编程工作。Homebrew 不仅仅是安装 Python 的工具,它为你打开了通往 macOS 上丰富命令行工具世界的大门。祝你在 Python 的学习和开发旅程中一切顺利!