在Ubuntu上安装pyenv
2022/10/16更新(新增Ubuntu22.04版)。
2022/6/5記載。
以下是在Ubuntu上安装pyenv的方法。
达标
安装pyenv到Ubuntu,并确保可以运行所需版本的python命令。
环境
操作系统:Ubuntu20.04、Ubuntu22.04
已安装git。
任务
下载0.pyenv库。
打开终端,并执行以下命令。
(执行命令后,在主目录中运行”ll -a”命令,可以确认.pyenv已被添加并可以下载到。)
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
为了能够执行pyenv命令,需要进行路径设置。执行以下命令以将其添加到.bashrc文件中。
如果希望在除了.bashrc之外的文件,例如.profile中添加路径设置,请进行额外的添加。
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bashrc
echo 'command -v pyenv >/dev/null || export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(pyenv init -)"' >> ~/.bashrc
读取更改内容。
source .bashrc
在终端上执行以下命令,可以显示 pyenv 的版本并确认已安装完成。
pyenv --version
使用pyenv安装Python
执行以下命令以确认可安装的Python版本。
pyenv install -list
希望安装的版本。
(在我的情况下,这里出现了错误。请参考下面的“#2-错误处理”)
pyenv install 3.9.13
以下命令可确认所需版本已成功安装。
pyenv versions
让Python命令在全球范围内可用。
pyenv global 3.9.13
最后确认能够使用Python命令。
python --version
2.错误处理
执行pyenv install命令时出现了三次错误。
在终端中出现了一个错误:“在$PATH中找不到可接受的C编译器”。听说安装gcc可以解决这个问题。
sudo apt-get install build-essential
又出现错误。在终端中记录的日志文件中查看,最后出现了”ZipImportError: zlib不可用”的错误信息。
安装Zlib。
sudo apt-get install zlib1g-dev
・再次出现错误。检查终端中记录的日志文件时发现,“Python ssl 扩展未编译。缺少 OpenSSL lib?”的错误出现在最后。请根据 https://github.com/pyenv/pyenv/wiki/Common-build-problems 中提供的解决方法进行处理。
①对于20.04和22.04版本
sudo apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev \
libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev \
xz-utils tk-dev libffi-dev liblzma-dev python-openssl git
②22.04で”python-openssl が見つかりません”と出る時があった。その時は以下で対応できた。
sudo apt-get install make build-essential libssl-dev zlib1g-dev \
libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm \
libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev
以上で無事にインストールできるようになった。
以下是我参考的网站。
・pyenvについて
https://github.com/pyenv/pyenv#installation
・エラー対応について
https://qiita.com/kenta_ojapi/items/6b19e0c05b268f3e74da
https://zenn.dev/moru3_48/articles/94d01b0ed2a91e