在Ubuntu 20.04上使用pyenv引入Python


本文总结了在Ubuntu 20.04上使用pyenv部署Python的步骤。

警告

  • 让我们首先检查是否需要pyenv。要让pyenv能够正常工作,要获得Python并非易事。 (我在网上徘徊了大约一个小时。)

    • 对于只想要Python的用户,如果您不想在构建环境上遇到麻烦,我们建议您使用OS标准软件包(对于Ubuntu为sudo apt install python3-pip)或Anaconda。
    • 就个人而言,我认为pyenv只能由在构建环境遇到问题时可以接受在网络上寻找对策的麻烦的人使用。如果可以正确引入它将会很方便...
  • 以下某些步骤取决于Ubuntu 20.04。它甚至不支持Ubuntu 18.04。

    • 目前,我已经提供了指向该页面的链接,该页面描述了针对Ubuntu 20.04以外的用户的过程。

环境

  • 作业系统:Ubuntu 20.04
  • 以下安装的pyenv版本:1.2.21
  • 在Python下安装:CPython 3.9.0

安装步骤

1.准备所需的命令

首先,安装用于安装pyenv本身的基本命令,并通过pyenv安装Python。

1
$ sudo apt install git wget curl

2.安装Python依赖的库(取决于环境)

接下来,安装Python依赖的库。
使用pyenv安装CPython时,它是从源代码构建的,因此请安装所有必需的库。 (这是一个难点。)

如果您的操作系统不是Ubuntu 20.04,请阅读1.入门-Python开发人员指南。

在Ubuntu 20.04上,

/etc/apt/sources.list

1
deb-src http://archive.ubuntu.com/ubuntu/ focal-updates main

添加

并执行以下命令。

1
2
$ sudo apt update
$ sudo apt build-dep python3.8

请注意,它是apt build-dep,而不是

apt installapt build-dep是安装从源代码构建所需的所有软件包的命令。在这里,我们安装了构建CPython 3.8所需的软件包。您需要选择一个包含次要版本(例如python3.8)而不是python3的软件包,但是它不必与您要使用的Python版本匹配。 (如果次要版本不同,则从属库不会更改。)

3.下载pyenv

通过克隆源代码下载Pyenv。
要安装的Python将放置在克隆的存储库中,并且将放置在PATH中,因此除非有特殊原因,否则请复制并粘贴以下命令。

1
$ git clone https://github.com/pyenv/pyenv.git ~/.pyenv

签出您要相应使用的pyenv版本的标签。 (暂时,我认为您应该使用最新版本的标签。)
如果它是截至2020/12/27的最新版本,它将是以下内容。

1
2
cd ~/.pyenv
git checkout v1.2.21

4.添加环境变量(取决于环境)

对于

Ubuntu 20.04,控制台通常是bash,因此将以下内容添加到.bashrc文件中。

1
2
3
4
5
PYENV_ROOT="${HOME}/.pyenv"
PATH="${PYENV_ROOT}/bin:${PATH}"
if command -v pyenv 1>/dev/null 2>&1; then
  eval "$(pyenv init -)"
fi

如果您的控制台不是bash,请检查pyenv自述文件。

5. Python安装

安装您喜欢的Python。
我已经安装了CPython 3.9.0。

1
$ pyenv install 3.9.0

从源代码构建将花费一些时间。

6.操作检查

安装后,请检查操作。
如果没有足够的依赖库,则在程序包导入阶段会被告知" _ctypes missing",因此建议安装要使用的程序包并检查直到导入。

后记

我写了我最初在个人备忘录中写的内容,目的是将其发布到Qiita。
我希望它对那些对pyenv有麻烦的人有用。