
理解“命令未找到”错误
当您在尝试配置pyenv环境变量(如export pyenv_root和export path)并执行eval "$(pyenv init --path)"时遇到“command 'pyenv' not found”的错误,这通常意味着pyenv工具本身尚未安装在您的系统上。那些环境变量的配置和eval命令的执行,都是在pyenv成功安装后,用于将其集成到您的shell环境中。因此,首要任务是完成pyenv的实际安装过程。
安装pyenv
pyenv的安装可以通过其官方提供的安装脚本来简化。在执行安装脚本之前,请确保您的系统已安装curl工具,curl用于从网络下载文件。
-
检查并安装curl 大多数Ubuntu系统默认已安装curl。如果未安装,您可以使用以下命令进行安装:
sudo apt-get update sudo apt-get install -y curl
-
执行pyenv安装脚本 使用curl下载并运行pyenv的自动安装脚本。这个脚本会负责下载pyenv及其依赖到您的用户目录下(通常是~/.pyenv)。
curl https://pyenv.run | bash
执行此命令后,脚本会打印出一些后续的配置说明,请务必仔细阅读。这些说明通常包括将pyenv相关的环境变量添加到您的shell配置文件中。
配置Shell环境
pyenv安装完成后,您需要将其路径添加到系统的环境变量中,并初始化pyenv,以便您的shell能够识别并使用pyenv命令。这些配置通常需要添加到您的shell启动文件,例如Bash用户的~/.bashrc或Zsh用户的~/.zshrc。
-
编辑Shell配置文件 打开您的shell配置文件(以~/.bashrc为例):
nano ~/.bashrc # 或者使用您喜欢的文本编辑器,如 vim ~/.bashrc
-
添加pyenv配置行 在文件的末尾添加以下几行:
export PYENV_ROOT="$HOME/.pyenv" export PATH="$PYENV_ROOT/bin:$PATH" eval "$(pyenv init --path)"
- export PYENV_ROOT="$HOME/.pyenv":定义pyenv的安装根目录。
- export PATH="$PYENV_ROOT/bin:$PATH":将pyenv的可执行文件路径添加到您的系统PATH中,这样您就可以直接在命令行中运行pyenv命令。
- eval "$(pyenv init --path)":初始化pyenv,将其集成到您的shell中,使其能够正确地管理Python版本。
-
使配置生效 保存并关闭文件后,您需要重新加载shell配置文件,或者关闭并重新打开终端,以使更改生效:
source ~/.bashrc # 如果您使用的是zsh,则为 source ~/.zshrc
此时,您应该可以成功执行pyenv命令,例如运行pyenv versions来查看已安装的Python版本。
立即学习“Python免费学习笔记(深入)”;
使用pyenv管理Python版本
pyenv安装并配置完成后,您就可以利用它来安装和管理多个Python版本了。
-
安装特定Python版本 要安装您需要的Python版本,例如Python 3.8,可以使用pyenv install命令:
pyenv install 3.8
这个过程可能需要一些时间,因为pyenv会下载Python源代码并进行编译。
-
查看已安装的Python版本 安装完成后,您可以使用pyenv versions命令查看所有由pyenv管理的Python版本:
pyenv versions
输出会列出所有版本,当前激活的版本会有一个星号标记。
-
设置全局Python版本 如果您希望将某个Python版本设置为系统默认的全局版本,可以使用pyenv global命令:
pyenv global 3.8
执行此命令后,无论您在哪个目录下,默认使用的Python版本都将是3.8。
-
设置局部Python版本(可选) 在特定的项目目录下,您可能希望使用不同于全局设置的Python版本。这时可以使用pyenv local命令:
cd your_project_directory pyenv local 3.8
这会在当前目录下创建一个.python-version文件,指定该目录及其子目录使用的Python版本。
注意事项与总结
- 安装顺序至关重要:务必先执行pyenv的安装脚本,然后再配置shell环境变量并进行初始化。颠倒顺序会导致“命令未找到”错误。
- Shell配置生效:在修改了~/.bashrc或~/.zshrc等配置文件后,必须通过source命令重新加载配置或重启终端,才能使更改生效。
- Python版本管理:pyenv提供了一种非侵入式的Python版本管理方式,它不会干扰系统自带的Python版本,而是将不同版本的Python安装到用户目录下,并通过修改PATH环境变量来切换。
- 依赖问题:在某些情况下,pyenv install命令可能会因为缺少编译Python所需的系统依赖而失败。如果遇到此类问题,请查阅pyenv的官方GitHub仓库或相关社区文档,了解如何安装这些依赖。
通过遵循本教程的步骤,您应该能够成功在Ubuntu系统上安装和配置pyenv,并灵活地管理您的Python开发环境,满足不同项目对Python版本的要求。










