我全新安装了 Ubuntu 16 LTS,但保留了之前安装的软件包的转储,并使用了以下问题的答案重新安装它们:如何备份设置和已安装软件包的列表。
再次运行更新后,我尝试使用 python,但出现此错误:
/home/niel/.pyenv/libexec/pyenv-exec:第 47 行:/home/niel/.pyenv/versions/3.4.0/bin/python:没有此文件或目录
我手动检查了一下,/home/niel/.pyenv/versions/3.4.0/bin/python
确实存在。
但运行却/home/niel/.pyenv/versions/3.4.0/bin/python3.4 --version
出现同样的错误。
bash:/home/niel/.pyenv/versions/3.4.0/bin/python3.4:没有这样的文件或目录
这里出了什么问题?路径可能坏了吗?
更新: 将 .bash_profile 中的路径从
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"
到
export PATH=${PATH}:/usr/bin/python3
似乎解决了这个问题,使用 中的工作python /usr/bin
。这是一个好的解决办法吗?
答案1
看起来像pyenvUbuntu 未附带该版本,它接管了您的系统PATH
,并假设系统已安装 Python 3.4。但是,您已升级到 16.04,它附带的是 Python 3.5,而不是 Python 3.4。
要解决这个问题,您应该删除 pyenv 或对其进行配置以正确理解升级的系统。
由于安装说明要求您修改.bashrc
,因此反向操作似乎是合理的。要彻底删除它,您还应该反向更改 ,.bash_profile
因为安装说明也要求您这样做。
由于这是 pyenv 特有的问题,而 Ubuntu 没有提供 pyenv,因此您应该向他们提出这个问题。