📌  相关文章
📜  eval "$(pyenv init -)" not working (1)

📅  最后修改于: 2023-12-03 15:30:39.289000             🧑  作者: Mango

eval "$(pyenv init -)" Not Working

如果您在尝试使用 pyenv 管理 Python 版本时遇到了 eval "$(pyenv init -)" 命令无法工作的问题,请阅读以下内容以获取帮助。

问题

当您尝试运行命令 eval "$(pyenv init -)" 时,可能会遇到以下错误:

-bash: eval: line 1: syntax error near unexpected token `('
-bash: eval: line 1: `export PATH="/home/yourusername/.pyenv/shims:${PATH}"'

或者

-bash: pyenv: command not found

这意味着您的 shell 不认识 pyenv 命令,可能是因为 pyenv 环境没有正确初始化。

解决方案
1. 确认是否已安装 pyenv

首先,您需要确认 pyenv 是否已正确安装。可以通过运行以下命令来检查:

$ which pyenv

如果 pyenv 已安装,将会看到 pyenv 的安装路径;否则,将会看到空输出。

如果 pyenv 没有正确安装,请按照 官方安装指南 进行安装。

2. 确认是否已将以下行添加到了 shell 配置文件中:
eval "$(pyenv init -)"

在某些情况下,您可能需要手动将上述行添加到 shell 配置文件中。该行的作用是将 pyenv 环境初始化到当前 shell 中。

以下是一些常见的 shell 配置文件路径:

  • Bash:~/.bashrc~/.bash_profile
  • Zsh:~/.zshrc~/.zprofile
  • Fish:~/.config/fish/config.fish

在终端中使用以下命令来打开适当的文件进行编辑:

$ nano ~/.bashrc

请将 eval "$(pyenv init -)" 添加到文件的末尾并保存。

3. 重新加载 shell 配置

在添加了 eval "$(pyenv init -)" 行之后,您需要重新加载 shell 配置文件。您可以运行以下命令来完成此操作:

$ source ~/.bashrc

如果使用的是 zsh,则应将 ~/.bashrc 改为 ~/.zshrc

4. 检查是否已经激活了 pyenv 版本

最后,请确保您已正确激活了所需的 Python 版本。您可以使用以下命令来查看当前激活的 Python 版本:

$ pyenv versions

您需要确保所需的 Python 版本已显示为当前版本。如果没有,请使用以下命令来激活所需的 Python 版本:

$ pyenv global 3.9.1

在上面的命令中,3.9.1 是所需的 Python 版本号。

结论

如果您遵循了上面的步骤,仍然无法使 eval "$(pyenv init -)" 命令工作,请尝试重新安装 pyenv 或在 GitHub Discussion 上寻求帮助。