Python Linux インフラ プログラミング

VirtualBox上でUbuntu22.04+Python3.8の環境構築

こんにちは、yassanです。
今回は、VirtualBox上でUbuntu22.04+Python3.8の環境構築を紹介します。

私事ですが、最近はNFTにはまっており、自分でトークンをデプロイしたいと思って日々少しずつ進めています。
参考にしている動画教材で、Python3.8にSolidityをインストールするというところがありました。

WindowsにはWSLというのがありますが、環境構築においてやり直しがきかないのは個人的にはつらいです。
そこで、VirtualBoxの上にUbuntuとPythonをインストールしてしまおうと思った次第です。

というわけで、僕と同じことをやろうとしている方はぜひご参考ください。

VirtualBox上でUbuntu22.04+Python3.8の環境構築

前提

前提として、VirtualBoxのインストールと、Ubuntuのイメージファイルを取得済みとします。

VirtualBoxのインストーラは、Oracleの公式ページからダウンロードできます。
ダウンロードしたら、インストーラを起動してインストールします。
(設定とかはこだわりなければデフォルトで大丈夫です)

UbuntuのイメージはUbuntuの公式ページからダウンロードできます。
ダウンロードしたら適当な場所に置いておきましょう。

仮想マシンの作成

では、仮想マシンの作成をやってみます。

まずは、「新規」を押します。
(僕の画面電は、既存の仮想マシンがありますが気にしないでください)

新しくウィンドウが開きますので、情報を入力していきます。
見たまんまなので説明は省きます。

メモリの割り当てですが、1024MBでも動作しますのでいったん1024MBにします。

ハードディスクの指定です。
特別用意してないので、新しく作成にします。

仮想ハードディスクの作成です。
まずはファイルタイムの選択ですが、、、
正直違いをよく知らないので、デフォルトのままでいきます。

ストレージのサイズは、枯渇してもあれなので可変にしておきましょう。

ファイルの場所とサイズは、一度インストールしてみた体感としては30GBくらいは用意しといた方が良いです。
下の画面ショットでは10GBにしていますが、30GBにしてください。

長々とかかりましたが、ようやく作成完了です。

では、さっそく起動してみましょう!

まず初めに、起動するディスクの選択をします。
最初にダウンロードしたUbuntuのisoファイルを選択します。
(右の方のフォルダボタンから選択できます!)

次に、こんな感じの画面になりますので、
[ Try or Install Ubuntu ]にキーカーソルを合わせてエンターを押します。

スクショ取り逃しちゃったのですが、ここでUbuntuの読み込み画面が入ります。
最終的には、下のクラゲみたいなものが出ます。

一旦、VirtualBoxとしての設定はここまでということにして、
次からはUbuntuの初期設定をやっていきます!

Ubuntuの初期設定

というわけで、次はUbuntuの初期設定をやっていきます。

まずは、言語を指定してUbuntuをインストールします。
左メニューから「日本語」を選択して、「Ubuntuをインストール」を選択します。
(よくわからない言語を選ぶと詰むので注意してください!)

ちなみに、日本語を選択時点でウィンドウのサイズが合わなくなります。
心の目でインストール作業を進めることになりますので、心してください。

キーボードレイアウトはJapaneseのままで大丈夫です。
心の目に自信がない方は、何もせずにShiftキー押しながらTabキーを押して、エンターキーを押せば次に進めます。

アプリケーションのインストールについてです。
特別なこだわりはないので、デフォルトのまま進めます。

コンピュータにOSがないといわれますが、ここは削除で問題ないです。

どこに住んでいますかと聞かれます。
見切れていてわかりませんが、東京か大阪になっているはずなので、このまま進めます。
(スクショ取り忘れました、すいません。)

ユーザに情報を入力します。
僕はめんどくさがりなので、自動ログインを有効にしました。

インストールが進むので、しばらくクラゲを見て待ちます。

インストールが完了したら、再起動が促されますので再起動します。

再起動すると、このような画面になります。
削除しても問題ないので、エンターを押します。

起動すると、オンラインのアカウントと接続するか聞かれます。
特に用意していないので、スキップを選択します。

レポートの送信はお好みで選択してください。
僕は送信しない方を選択します。

位置情報もお好みで選択してください。
僕はオフを選択します。

最後に、完了を選択すれば終わりです!

ちなみに、ソフトウェア更新がでることがあります。
今すぐインストールを選択して最新化しておくことを推奨します。

以上でOSの設定は完了です。

ですが、このままでは画面サイズが小さくて作業がしにくいと思います。

【今更感】Ubuntuのインストール方法 #仮想環境編 こちらのサイトが参考になりましたので、細かい設定を各自でやっていただけたらと思います。

Python3.8のインストール

それでは、Python3.8のインストールをやっていきます。

と、その前に
Ubuntu22.04 には Python がすでにインストールされています。
まずはそれを確認してみましょう。

$ which python3
/usr/bin/python3
$ python3 -V
Python 3.10.4

Python 3.10.4 がインストールされていて、パスが通ってますね。
こちらのPythonはバージョンが新しいので、今回は使用しません。

今回はPython3.8をインストールするので、下記のコマンドを実行します。

$ sudo apt update
$ sudo apt install build-essential libbz2-dev libdb-dev \
  libreadline-dev libffi-dev libgdbm-dev liblzma-dev \
  libncursesw5-dev libsqlite3-dev libssl-dev \
  zlib1g-dev uuid-dev tk-dev
$ wget https://www.python.org/ftp/python/3.x.y/Python-3.x.y.tar.xz
$ tar xJf Python-3.8.13.tar.xz
$ cd Python-3.8.13/
$ ./configure
$ make
$ sudo make install

これで、Python3.8のインストールは完了です。
正しくインストールできたか確認してみましょう。

$ python3 -V
Python 3.8.13
$ which python3
/usr/local/bin/python3

Python3.10とは違う場所にインストールされましたね。
/usr/local/binは、ユーザが新たにインストールしたコマンドの格納場所ですので、元のPython3.10には影響を与えません。

というわけで、長くなりましたが VirtualBox上でUbuntu22.04+Python3.8の環境構築 でした!

Python学習におすすめの教材

Pythonについて、しっかりと基礎から学びたい、実践的なスキルを身につけたいと考えている方向けに、おすすめの学習教材を紹介します。
これらの教材は、実際に僕がPythonの学習に使った教材になっています。

現役シリコンバレーエンジニアが教えるPython 3 入門 + 応用 +アメリカのシリコンバレー流コードスタイル

現役シリコンバレーエンジニアが教えるPython入門!応用では、データ解析、データーベース、ネットワーク、暗号化、並列化、テスト、インフラ自動化、キューイングシステム、非同期処理など盛り沢山の内容です!

ベネッセが運営する動画学習サイトUdemyで視聴することができる動画教材です。
(セールの時には¥1,500程度で買えます!)

Pythonは自由度が高くて雑に書いても動きますが、その分コードスタイルがおろそかになりがちです。
正しいコードスタイルを身に着けておかなければ、Pythonプログラマとして活躍することはあり得ません。
この教材は、グローバルスタンダードなコードスタイルを正しく学びながら、アルゴリズムやサーバー構築など幅広くPythonの活用方法を学習することができます。

Pythonの学習で間違えたくない方や、趣味レベルのスキルから一歩抜け出したい方におすすめです。


エキスパートPythonプログラミング改訂2版 Pythonプログラミングのベストプラクティスを伝授

本書は、Pythonを使って仕事をしている開発者が普段どのようなツールやテクニックを用いて仕事をしているのか、また開発者が実際に現場で用いているベストプラクティスについて解説した書籍です。本書を読むことで、先進的なPythonプログラマが日常的に使用している開発ノウハウを学ぶことができます。

こちらの書籍は、様々なユースケースに対するベストプラクティスを学習することができる書籍です。
Python2系と3系の違いについてもよく取り上げられますので、実質どちらのバージョンにも対応しているといえます。

Pythonをうまく使いこなせていない気がする方、初心者の殻を破りたい方におすすめです。

-Python, Linux, インフラ, プログラミング
-, , ,