天下一反省会!

電子工作、プログラミング、読書など

\今月のイチオシ記事/

おススメ記事1
おススメ記事2
おススメ記事3
おススメ記事4

Anacondaにpygameをインストールする方法を紹介

先日、Anaconda環境にpygameライブラリをインストールしたのですが、少し苦戦したので手順を書き残しておこうと思います。

Anacondaを使っていて、pygameライブラリを導入したいと考えている方は参考にしてください。

Anacondaにpygameライブラリをインストールするには?


インストール手順は以下の通りです。

インストール手順1. python3.5用の仮想環境を作る
2. OpenSSLライブラリをインストール
3. コマンドプロンプトからpygameをインストールする

それでは順番に見ていきましょう。

手順① python3.5用の仮想環境を作る

今回インストールしたいpygameは、残念ながら新しいバージョンのpython(python3.9など)には対応していないようでした。

そこで、今回はpython3.5がインストールされた仮想環境を用意し、そこにpygameライブラリをインストールすることにします。

初めに、Anaconda Navigatorを起動し、Environmentsボタンから環境の管理画面へ進みます。

画面下部にあるcreateボタンを押すと、新たに仮想環境を作成することができます。

Anaconda Navigatorのcreateボタンを押す

createボタンを押すと、仮想環境の名前とpythonのバージョンを選択できるようになります。仮想環境の名前は自由で構いませんが、pythonのバージョンは3.5.6を選択するようにしてください

環境名およびpythonバージョンの選択画面
pythonのバージョンは3.5.6を選択する

仮想環境が作成出来たら、手順①は完了です。

手順② opensslライブラリをインストールする

仮想環境が作成出来たので、さっそくpygameライブラリをインストールしたくなるところですが、実はこの状態ではこの仮想環境にライブラリを入れることができません。

ライブラリを入れようとすると、次のようなエラーが出てしまいます。

[エラー内容: OpenSSL appears to be unavailable on this machine. OpenSSL is required to
download and install packages.]

エラーの内容をざっくり説明すると、「ネット経由でライブラリをインストールする際に必要なopensslというセキュリティ関連の機能が仮想環境に導入されてないよ」ということのようです。

そこで、opensslライブラリをインストールすることにします。

Anaconda Navigator上で先ほど作成した仮想環境のライブラリ一覧を表示します。

その後上のバーからNot installedを選択し、右上の検索欄に"openssl"と入力します。

"openssl"という名前のライブラリのチェックボックスにチェックを入れ、右下のapplyボタンを押します。

opensslにチェックを入れ、applyを押す
opensslにチェックを入れ、applyを押す

下のような表示が出たら、もう一度applyを押します。

もう一度applyを押す

最後に上のバーからInstalledを選択し、仮想環境にopensslライブラリがインストールされていることを確認出来たら、手順②は完了です。

手順③ pygameライブラリをインストールする

まずAnaconda Promptを開き、 "conda activate 環境名" と実行して、手順①で作成した仮想環境へ切り替えます。


下図では、pygameTestという名前の仮想環境に切り替えています。

仮想環境への切り替え
仮想環境への切り替え

その後、以下のコードをコピペし、Enterを押してください

conda install -c cogsci pygame

しばらく待っていると次の画像のように、Proceed ([y]/n)? という表示がされて一時停止するので、yと入力しEnterを押します。

pygameインストール中の画像


インストールが終わったら手順③は完了です。

動作チェックをしてみる

正常にpygameのインストールができたか確認するために、pygame内に用意されたサンプルプログラムを起動してみます。

Anaconda Promptに以下のコードを入力し実行します。

python -m pygame.examples.aliens

シューティングゲームが起動したら成功です!