Amazon Linux2 に pyenv をインストールする
Amazon Linux2 に pyenv 環境を構築する手順をメモしておきます。 pyenv 環境構築直後は amazon-linux-extras
が実行出来ない為、回避策もメモしておきます。
依存パッケージのインストール
pyenv 自体をインストールする際に必要なので git
をインストールしておきます。 また、他のパッケージは pyenv インストール後に Python をビルドする際、必要なので併せて事前にインストールしておきます。
1
2
3
4
5
6
7
8
9
10
11
12
13
14 | yum -y install \
bzip2 \
bzip2-devel \
gcc \
git \
libffi-devel \
make \
openssl \
openssl-devel \
readline \
readline-devel \
sqlite \
sqlite-devel \
zlib-devel
|
pyenv をインストールする
pyenv をインストールします。
| yum -y install git
curl -L https://raw.githubusercontent.com/pyenv/pyenv-installer/master/bin/pyenv-installer | bash
cat << 'EOS' >> ~/.bashrc
export PATH="/root/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
EOS
source ~/.bashrc
|
最新の Python をインストールする
pyenv install --list
でインストール可能な Python バージョンを確認します。
現時点では 3.7.5 が最新でしたので、このバージョンをインストールしてみます。
インストールした Python バージョンが利用されるように設定しておきます。
| pyenv global 3.7.5
pyenv rehash
|
pyenv 環境から amazon-linux-extras
を実行すると以下のエラーになりました。
| # amazon-linux-extras
/root/.pyenv/versions/3.7.5/bin/python: No module named amazon_linux_extras
|
このエラーは以下のようにシステム標準で存在する amazon-linux-extras
へシンボリックリンクを作成することで解消します。
| ln -s /lib/python2.7/site-packages/amazon_linux_extras ~/.pyenv/versions/3.7.5/lib/python3.7/site-packages/
|
これで pyenv 環境でも amazon-linux-extras
が実行出来るようになりました。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51 | # amazon-linux-extras
0 ansible2 available [ =2.4.2 =2.4.6 =2.8 ]
2 httpd_modules available [ =1.0 ]
3 memcached1.5 available [ =1.5.1 =1.5.16 ]
5 postgresql9.6 available [ =9.6.6 =9.6.8 ]
6 postgresql10 available [ =10 ]
8 redis4.0 available [ =4.0.5 =4.0.10 ]
9 R3.4 available [ =3.4.3 ]
10 rust1 available \
[ =1.22.1 =1.26.0 =1.26.1 =1.27.2 =1.31.0 ]
11 vim available [ =8.0 ]
13 ruby2.4 available [ =2.4.2 =2.4.4 =2.4.7 ]
15 php7.2 available \
[ =7.2.0 =7.2.4 =7.2.5 =7.2.8 =7.2.11 =7.2.13 =7.2.14
=7.2.16 =7.2.17 =7.2.19 =7.2.21 =7.2.22 ]
16 php7.1 available \
[ =7.1.22 =7.1.25 =7.1.27 =7.1.28 =7.1.30 =7.1.31
=7.1.32 ]
17 lamp-mariadb10.2-php7.2 available \
[ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5
=10.2.10_7.2.8 =10.2.10_7.2.11 =10.2.10_7.2.13
=10.2.10_7.2.14 =10.2.10_7.2.16 =10.2.10_7.2.17
=10.2.10_7.2.19 =10.2.10_7.2.21 =10.2.10_7.2.22 ]
18 libreoffice available [ =5.0.6.2_15 =5.3.6.1 ]
19 gimp available [ =2.8.22 ]
20 docker=latest enabled \
[ =17.12.1 =18.03.1 =18.06.1 ]
21 mate-desktop1.x available [ =1.19.0 =1.20.0 ]
22 GraphicsMagick1.3 available [ =1.3.29 =1.3.32 ]
23 tomcat8.5 available \
[ =8.5.31 =8.5.32 =8.5.38 =8.5.40 =8.5.42 ]
24 epel available [ =7.11 ]
25 testing available [ =1.0 ]
26 ecs available [ =stable ]
27 corretto8 available \
[ =1.8.0_192 =1.8.0_202 =1.8.0_212 =1.8.0_222 =1.8.0_232 ]
28 firecracker available [ =0.11 ]
29 golang1.11 available \
[ =1.11.3 =1.11.11 =1.11.13 ]
30 squid4 available [ =4 ]
31 php7.3 available \
[ =7.3.2 =7.3.3 =7.3.4 =7.3.6 =7.3.8 =7.3.9 ]
32 lustre2.10 available [ =2.10.5 ]
33 java-openjdk11 available [ =11 ]
34 lynis available [ =stable ]
35 kernel-ng available [ =stable ]
36 BCC available [ =0.x ]
37 mono available [ =5.x ]
38 nginx1 available [ =stable ]
39 ruby2.6 available [ =2.6 ]
40 mock available [ =stable ]
|