##まえがき
LinuxもPythonも初心者ですがCentOSでPython3.7の環境構築してみました。
WindowsでPythonの環境はあるのですが、別のPCでも環境作るか~と思ったのがきっかけです。
どっちもWindowsじゃ面白くないので、仮想で建てたCentOSにブチ込んでみようと思った次第です。
##環境
基盤となるホストの環境と、これから構築予定のゲストの環境です。
#####ホスト環境
- OS:Windows10 Home 64bit
- RAM:16GB
- 仮想化ソフト:VMware WorkStation 15 Player
#####ゲスト(仮想)環境
- OS:CentOS 8.3
- RAM:4GB(可変)
- 開発言語:Python 3.7
##手順
###OSのisoファイルを入手
何はともあれ、まずはOSイメージの入手から。
リンクは__こちら__(「CentOS-8.3.2011-x86_64-dvd1.iso」ってやつ)。
###仮想マシンを作成
VMware WorkStationで、以下の通りに進める。
- 「新規仮想マシンの作成」をクリック
- 「インストール元」で「インストーラ ディスクイメージ ファイル」を選択し、さっきダウンロードしたisoを指定。
- ウィザードに従ってポチポチやって仮想マシンを作成。
- 無事インストール完了。
どうでもいいですが、パスワードに"@"を使ったらキーボードの配列の関係で入力できなくて詰んだかと思った。
[ Shift ] + [ 2 ] で [ @ ]
###Python3.7 のインストール
作成した仮想マシンでターミナルを起動し、以下の通りに進める。
インストールは__公式ドキュメント__を参照。
####1. ログインユーザーをwheelグループに追加
これをしないとsudoでコマンドを実行できない。詳細は__こちら__を参照されたし。
実行コマンドは以下の通り。
rootユーザーに切り替え
$ su -
一般ユーザー「username」を「wheel」グループに追加
# usermod -G wheel username
追加されたことを確認
# id username
> uid=1000(username)..., 10(wheel)
一般ユーザーに戻ってsudoでコマンドを実行
(一度コンピュータにログインし直してから実行)
$ sudo su -
> Last login: Thu Dec 10 04:07:47 PST 2020 on pts/0
####2.Python3.7のインストール
以下の手順でコマンドを実行する。
※一般ユーザーでログインしているのでイチイチsudo
が必要。
ビルドツールのインストール
$ sudo yum groupinstall "development tools"
> ...
> Complete!
ライブラリのインストール
$ sudo yum install\
bzip2-devel gdbm-devel libffi-devel libuuid-devel\
ncurses-devel openssl-devel readline-devel sqlite-devel\
tk-devel wget xz-devel zlib-devel
> Package wget-1.19.5-10.el8.x86_64 is already installed.
> ...
> Conplete!
Python用のディレクトリをルート直下に作成
$ sudo mkdir /python3.7
$ sudo cd /python3.7
ソースコードをダウンロード
$ sudo wget https://www.python.org/ftp/python/3.7.9/Python-3.7.9.tar.xz
ソースコードを解凍
$ sudo tar xJf Python-3.7.9.tar.xz
ビルドとインストール
$ sudo cd /python3.7/Python-3.7.9
$ sudo ./configure
> If you want a release build with all stable optimizations active (PGO, etc),
> please run ./configure --enable-optimizations
$ sudo make
> Python build finished successfully!
> The necessary bits to build these optional modules were not found:
> nis
> To find the necessary bits, look in setup.py in detect_modules() for the module's name.
$ sudo make install
> Successfully installed pip-20.1.1 setuptools-47.1.0
エラー(というか警告)が出ていたので一応メモしておく。
WARNING: The script easy_install-3.7 is installed in '/usr/local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
WARNING: The scripts pip3 and pip3.7 are installed in '/usr/local/bin' which is not on PATH.
Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.
Pythonが起動できることを確認する。
$ python3
Python 3.7.9 (default, Dec 10 2020, 04:44:11)
[GCC 8.3.1 20191121 (Red Hat 8.3.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
####3.仮想環境の構築
やっぱり__公式ドキュメント__を参考にしながらやります。
以下の手順でコマンドを実行する。
プロジェクトディレクトリを作成する。
$ mkdir Document/Project01
プロジェクトディレクトリ直下に仮想環境を作成
$ cd Document/Project01
$ python3 -m venv .venv
仮想環境への切り替え
$ sourece .venv/bin/activate
以下の表示に切り替わればOK
(.venv) [kei@localhost Project01]$
####4.おまけ
せっかくなので、仮想環境にrequests
モジュールをインストールして阿部寛のホームページにアクセスしてみる。
仮想環境に切り替えた状態で、以下のコマンドを実行。
$ vi abehiroshi.py
%---abehiroshi.py---
import requests
print(requests.get("http://abehiroshi.la.coocan.jp").text)
-------------------%
$ python3 abehiroshi.py
> <html>
> <head>
> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
> <meta name="GENERATOR" content="JustSystems Homepage Builder Version 20.0.6.0 for Windows">
> <meta http-equiv="Content-Style-Type" content="text/css">
> <title>阿部寛のホームページ</title>
> </head>
> <frameset cols=18,82>
> <frame src="menu.htm" marginheight="0" marginwidth="0" scrolling="auto" name="left">
> <frame src="top.htm" marginheight="0" marginwidth="0" scrolling="auto" name="right">
> <noframes>
> <body></body>
> </noframes>
> </frameset>
> </html>
以上です。阿部寛かっこいいね。