【Ubuntu×Eclipse】Python開発環境の構築手順(Ubuntu 20.04)

僕はこう見えてLinux信者なんです。たっきん(Twitter)です!

突然ですが、パソコンのOS(オペレーティング・システム)と聞いたら何を思い浮かべますか?

有名どころだとWindows(ウィンドウズ)がありますが、僕はLinux(リナックス)もよく使っています。

システム開発屋さんだとLinuxを使ったことある人もいるのではないでしょうか?

Linux OSを知らない人のために簡単に説明すると、

  • Windows → GUI(Graphical User Interface)が優れたOS
  • Linux → CUI(Command User Interface)が優れたOS

になるんじゃないかと思いますが、WindowsでもCUIを扱うこともできますし、逆にLinuxもシンプルながらGUI環境は導入することができるため、正直大差はないんじゃないかと思います。

そのため、好みでWindowsまたは、Linuxを使えばいいと思いますが、僕個人的に体感できる差は以下の2つです。

  • 軽量OSのため、動作が軽い。
  • 実質Linuxにしか対応していないアプリケーションがある。

まず動作についてですが、圧倒的にLinuxは軽いです。

CPU負荷、メモリ消費量もWindows 10に比べたらかなり小さく、多少スペックの低いパソコンでも快適に動作します。

案外モバイルノートPCと相性が良いOSな気がしてます。

そして、Linuxにしか対応していないアプリケーションですが、代表例を挙げるならROS(Robot Operating system)ですね。

現在ROSとROS2という2つのバージョンが並行で開発されており、特にROS2はWindowsにもインストールできるらしいのですが、ネットや書籍でもLinuxでも情報が大半ですので、実質Linuxでの使用一択です。

一括りにLinuxといってもUbuntuFedoraCentOSLinux Mintといったように数多くのディストリビューションが存在します。
自分の好みのディストリビューションを選べるのもLinuxの良さの1つだね。
私Linux初心者なんですけど、初心者にオススメのディストリビューションってありますか?
僕ならUbuntuをオススメするね!
Ubuntuを使ってるユーザーは結構多く、ネット上でのコミュニティも盛んだから、行き詰ったときにネットで調べると解決方法が見つかることが多いよ。

現在進行中で開発しているシストレ開発もOSはUbuntuを使っており、その上にEclipsePythonROS2の開発環境を構築しています。

なので今回は実際に僕がシストレ開発で使用しているEclipseとPythonのUbuntu版開発環境手順について、備忘録的な感じで残していこうと思います(^^)

Sponsored Link

事前準備

Ubuntu上にEclipseとPython開発環境を構築するくらいなので、パソコンにUbuntu OSをインストールしておくことが前提となります。

Ubuntuのインストール方法についてはググるとたくさん情報が出てくるので、あえてこの記事では書きません。

ネットの情報を参考に自分のパソコンにインストールしてみてください。

この記事を書いている現在ではUbuntu 20.04が最新バージョンとなってます。

以降はUbuntu 20.04がインストール済みの状態であることを前提に話を進めていきますが、手始めに以下のコマンドでパッケージ一覧を更新しておきましょう。

$ sudo apt update

OpenJDKのインストール

OpenJDKがインストールされていないとEclipseのインストーラーが起動できません。

OpenJDKがインストールされているかどうかは以下のコマンドを実行することでわかります。

$ java --version

コマンドを実行したときに「コマンド 'java' が見つかりません。」と表示されたらOpenJDKがインストールされていないので、以下のコマンドでインストールします。

今回はバージョン14をインストールします。

$ sudo apt install openjdk-14-jdk

インストールが完了したらもう一度「java --version」コマンドを実行し、以下のように表示されることを確認しましょう!

$ java --version
openjdk 14.0.1 2020-04-14
OpenJDK Runtime Environment (build 14.0.1+7-Ubuntu-1ubuntu1)
OpenJDK 64-Bit Server VM (build 14.0.1+7-Ubuntu-1ubuntu1, mixed mode, sharing)

Pythonのインストール

Ubuntu 20.04ではデフォルトでpython3がインストールされるようです。

以下のコマンドでpythonのバージョンが確認できます。

バージョンが表示されたらpythonがインストールされています。

$ python3 --version
Python 3.8.2

もし、Pythonがインストールされてないようであれば以下のコマンドでインストールしましょう。

$ sudo apt install python3.8

またpip3も入れておきましょう。

パッケージ管理が楽になります。

pip3は以下のコマンドでインストールできます。

$ sudo apt install python3-pip

Eclipseのインストール

事前準備も済んだところで、いよいよ本命のEclipseをUbuntuにインストールしていきます。

WindowsだとPleadesのサイトからPythonプラグイン(PyDev)入りのEclipse本体(しかも日本語済み)を一括でインストールできたのですが、Ubuntuだとそうはいきません。

少し手間はかかりますが、難しい内容ではないので1つずつ説明していきます。

  • Eclipse本体のインストール
  • Eclipseランチャーの作成
  • 日本語化
  • Eclipse用Pythonプラグイン(PyDev)のインストール
  • Eclipse用Gitプラグイン(EGit)のインストール
  • エディタのフォントを変える

Eclipse本体のインストール

Eclipse本体はEclipseの本家サイトからダウンロードします。

ページを開いたら「Download 64 bit」をクリック。

「Download」をクリックするとインストーラーのダウンロードが始まります。

少し待つと「eclipse-inst-linux64.tar.gz」というファイルがダウンロードされるので、適当な場所に解凍します。

tar.gz形式

tar.gz(ターボール)はLinuxの圧縮ファイル形式で、Windowsのzipファイルみたいなものです。

解凍すると以下のようなファイルが展開されます。

「eclipse-inst」ファイルをダブルクリックし、インストーラーを起動します。

すると以下のような画面が立ち上がります。

この一覧にはC/C++、Java、PHP向けなどのパッケージが用意されていますが、Python向けのパッケージはありません。

なので最小構成のEclipse本体をインストールし、手動でPython等の必要なプラグインを追加していきます。

まずは右上の①をクリックし、開いたメニューから「ADVANCED MODE…」をクリックします。

すると別画面が開くので、「Eclipse Platform」を選択し、「Next」をクリックします。

そのまま「Next」をクリック。

任意で①でインストール場所を、②でインストールフォルダ名を指定します。

今回①のインストール場所はユーザー個別環境「/home/takkin(ユーザ名)/tool」にします。

その後、「Next」をクリック。

「Finish」をクリック。

「Accept Now」をクリック。

インストールが開始されるので、少し待ちます。

終わったら「Finish」をクリック。

これでインストール作業は完了です。

Eclipseランチャーの作成

Ubuntuのデスクトップ画面の左側にはランチャーと呼ばれるアプリケーションのショートカットアイコンが表示されます。

ランチャーはクリックするだけでアプリケーションが起動できるため、とても便利です。

Ubuntuソフトウェアからアプリケーションをインストールすると、自動でランチャーが作成されますが、今回のように手動でインストールした場合、ランチャーが自動で作成されないため、アプリケーションを起動するなら端末を立ち上げコマンド入力が必要になり少々面倒です。

なので、手間を省くためにEclipseのランチャーを作成していきます。

ランチャーファイルの拡張子は.desktopである必要があります。

今回はEclipseのランチャーを作成するため、ファイル名は「eclipse.desktop」で作成します。

作成場所は2種類あって、システム全体で使用するアプリなら「/usr/local/share/applications」配下に、ユーザー個別にインストールしたアプリなら 「~/.local/share/applications」配下に置きます。

今回Eclipseはユーザー個別環境にインストールしたので、ランチャーもユーザー個別環境の「~/.local/share/applications」に配置していきます。

$ cd ~/.local/share/applications/
$ gedit eclipse.desktop

「eclipse.desktop」ファイルの中身は以下のように記述します。

[Desktop Entry]
Version=1.0
Type=Application
Name=Eclipse
Name[ja]=Eclipse
Comment=Eclipse is an integrated development environment (IDE)
Comment[ja]=統合開発環境
Keywords=Java;java;IDE
Keywords[ja]=Java;java;IDE;統合開発環境
Exec=[eclipse実行ファイルのフルパス]/eclipse ・・・①
Icon=[eclipseアイコンファイルのフルパス]/icon.xpm ・・・②
Terminal=false
Categories=Java;Development;IDE
StartupNotify=true
StartupWMClass=Eclipse
Actions=Clean
[Desktop Action Clean]
Name=eclipse -clean
Exec=[eclipse実行ファイルのフルパス]/eclipse -clean ・・・③

①②③はインストールした環境に合わせて記述します。

僕の環境の例だと以下のようになります。

①:Exec=/home/takkin/tool/ide-latest-released/eclipse/eclipse
②:Icon=/home/takkin/tool/ide-latest-released/eclipse/icon.xpm
③:Exec=/home/takkin/tool/ide-latest-released/eclipse/eclipse -clean

保存して閉じたらDockの「アプリケーションの表示」から「eclipse」で検索してみます。

eclipse.desktopの②で指定したアイコンでEclipseが表示されれば成功です。

右クリックして「お気に入りに追加」を選ぶと、ランチャーとして追加されます。

日本語化

次はEclipseの日本語化をしていきます。

Eclipseインストール直後だとメニュー等が全て英語となっています。

まぁ英語が読める人なら日本語化しなくてもよいと思いますが、僕は英語は読めないのでしっかり日本語化していきます(笑)

日本語化プラグインはPleiadesのサイトからダウンロードできます。

もちろんLinux版を選択し、ダウンロードします。

「pleiades.zip」というファイル名でダウンロードされるので、ダウンロードが完了したらzipファイルを解凍します。

解凍すると以下のようなファイルが展開されます。

これらのファイルの内、「features」「plugins」のフォルダをコピーします。

次にEclipseの実行ファイルがインストールされたディレクトリを開きます。

すると同じ階層に「features」「plugins」があるので、上書きペーストします。

マージしますかと聞かれるので「マージ」を選択します。

次は「eclipse.ini」を編集していきます。

「eclipse.ini」をエディターで開いたら最終行に以下の2行を追記します。

-Xverify:none
-javaagent:[pluginsの絶対パス]/jp.sourceforge.mergedoc.pleiades/pleiades.jar

2行目はeclipseをインストールしたディレクトリによって記述が異なってきます。

僕がインストールした環境の例だと、

-javaagent:/home/takkin/tool/ide-latest-released/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar

となります。 追記が完了したらエディタを保存して閉じ、Eclipseを起動します。

以下のように日本語化されていたら成功です。

Eclipse用Pythonプラグイン(PyDev)のインストール

Eclipse上でpythonが実行できるようにPythonプラグイン(PyDev)をインストールします。

メニューの「ヘルプ」→「新規ソフトウェアのインストール」をクリックします。

別ウィンドウが立ち上がるので「追加」をクリックします。

リポジトリーの追加ウィンドウが立ち上がるので以下の項目を入力し、「追加」をクリックします。

  • 名前:PyDev(任意の名前でよい)
  • ロケーション:http://pydev.org/updates

PyDevにチェックを入れて「次へ」をクリックします。

「次へ」をクリックします。

「同意します」にチェックを入れ、「完了」をクリックします。

セキュリティーの警告がでますが、そのまま「インストール」を続行します。

インストールが完了すると再起動を要求されるので、「今すぐ再起動」をクリックします。

無事再起動出来たら次はPyDevのパースペクティブを開きます。

メニューの「ウィンドウ」→「パースペクティブ」→「パースペクティブを開く」→「その他」をクリックします。

「PyDev」を選択し、開くをクリックします。

「PyDev」パースペクティブが開きました。

Pythonのコーディングは基本的にこのパースペクティブで行っていきます。

次はPyDevの設定を行っていきます。

メニューの「ウィンドウ」→「設定」をクリックします。

左の項目から「PyDev」→「インタープリター」→「Pythonインタープリター」の順にクリックし、右側の「Choose from list」をクリックします。

使用可能なPythonバージョンごとにリストが表示されるので、使用するバージョンを選択し、「OK」をクリックします。

今回の例では最新バージョンの「/usr/bin/python3.8」を選択しました。

全てにチェックを入れ、「OK」をクリックします。

pythonインタープリターが追加されました。

「適用して閉じる」をクリックします。

pythonが正常に実行できるかprint文のみのサンプルコードを書いて実行してみました。

コンソールにprint文の文字が表示されることを確認しましょう。

以上で、Eclipse用Pythonプラグイン(PyDev)のインストール作業は完了です。

Eclipse用Gitプラグイン(EGit)のインストール

Eclipse上でGitによるバージョン管理ができるようにGitプラグイン(EGit)をインストールします。

PyDevのインストールのときと同じようにメニューの「ヘルプ」→「新規ソフトウェアのインストール」をクリックし、リポジトリー追加のウィンドウを立ちあげ、以下の項目を入力します。

  • 名前:EGit(任意の名前でよい)
  • ロケーション:http://download.eclipse.org/egit/updates

全部にチェックを入れて「次へ」をクリックします。

「次へ」をクリックします。

「同意します」にチェックを入れ、「完了」をクリックします。

インストールが完了すると再起動を要求されるので、「今すぐ再起動」をクリックします。

無事再起動出来たら次はGitのパースペクティブを開きます。

メニューの「ウィンドウ」→「パースペクティブ」→「パースペクティブを開く」→「その他」をクリックし、「パースペクティブを開く」のウィンドウで「Git」を選択し、開くをクリックします。

「Git」パースペクティブが開きました。

このパースペクティブではプッシュ、プルなどの一連のGit操作ができます。

以上で、Eclipse用Gitプラグイン(EGit)のインストール作業は完了です。

エディタのフォントを変える

Eclipseはエディタのフォントも変えることができます。

デフォルトのフォントで気にならなければそのままでいいのですが、僕はコーディングする際はいつもMigu 1Mのフォントを使用しています。

個人的にMigu 1Mのフォントは読みやすくて気に入っています。

フォントはネット上にたくさん転がっているので皆さんもお気に入りのフォントを見つけてみてはいかがでしょうか?(^^)

では、Eclipseでのフォント変更の手順を説明していきます。


以下のURLよりMigu 1Mフォントをダウンロードします。

https://mix-mplus-ipa.osdn.jp/migu/

ダウンロードが終わったら適当な場所に解凍します。

$ unzip migu-1m-20200307.zip

フォントファイルは「/usr/local/share/fonts/」の下に置くことで追加フォントとして認識されるようになります。

また、フォントファイルは「*.ttf」になるため、上記解凍先の全ttfファイルをコピーして「/usr/local/share/fonts/」配下に置きます。

$ sudo cp *.ttf /usr/local/share/fonts/

配置が終わったらEclipseを起動し、メニューの「ウィンドウ」→「設定」をクリックします。

その後開いたウィンドウで左の項目から「一般」→「外観」→「色とフォント」の順にクリックし、右側の「基本」項目を開きます。

「テキスト・フォント」という項目があるので右クリックで選択します。 選択すると現在の設定フォントがプレビューに表示されます。

「編集」ボタンをクリックします。

検索ボックスで「migu」と入力し、「Migu 1M Regular」を選択後、フォントサイズを任意の値で指定し、「選択」をクリックします。

プレビューが更新されていることを確認し、「適用して閉じる」をクリックします。

以上でフォント変更作業は完了です。

ちなみに、Migu-1Mフォントは以下のような感じです。

ROS2(Foxy)のインストール

ここからは番外編としてROS2のインストール方法も載せておきます。

ROSは僕がシストレ開発をする上でかなり重宝するミドルウェアとなっています。

なぜROSを使うのかについては以下の記事にまとめてあるので気になる方は読んでみてください。

ガチでシストレ開発始めます!たっきん(Twitter)です! 今まではOANDA APIを使って窓埋めや仲値&ゴトー日の解析を行ってきてチャ...

ではインストール手順について簡単に説明していきます。

ロケールのセットアップ

$ sudo locale-gen ja_JP ja_JP.UTF-8
$ sudo update-locale LC_ALL=ja_JP.UTF-8 LANG=ja_JP.UTF-8
$ export LANG=ja_JP.UTF-8

ATPソースリストの設定

$ sudo apt update
$ sudo apt install curl gnupg2 lsb-release
$ curl http://repo.ros2.org/repos.key | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64,arm64] http://packages.ros.org/ros2/ubuntu `lsb_release -cs` main" > /etc/apt/sources.list.d/ros2-latest.list'
$ sudo apt update

ROS2パッケージの一括インストール

$ sudo apt install ros-foxy-desktop python3-colcon-common-extensions python3-rosdep python3-argcomplete
$ sudo rosdep init
$ rosdep update

環境設定

$ source /opt/ros/foxy/setup.bash

上記環境設定コマンドは端末を立ち上げるたびに必要になるため、.bashrcに追加しておいたほうが楽です。

$ echo "source /opt/ros/foxy/setup.bash" >> ~/.bashrc

インストール作業は以上になります。

最後にデモを動かして問題なく動作するか確認しておきましょう!

●ノード:talker
$ ros2 run demo_nodes_cpp talker
[INFO] [1596263231.184048376] [talker]: Publishing: 'Hello World: 1'
[INFO] [1596263232.184002114] [talker]: Publishing: 'Hello World: 2'
[INFO] [1596263233.183989914] [talker]: Publishing: 'Hello World: 3'
[INFO] [1596263234.183976449] [talker]: Publishing: 'Hello World: 4'
[INFO] [1596263235.183992475] [talker]: Publishing: 'Hello World: 5'
[INFO] [1596263236.183977578] [talker]: Publishing: 'Hello World: 6'
[INFO] [1596263237.183912472] [talker]: Publishing: 'Hello World: 7'
[INFO] [1596263238.183913207] [talker]: Publishing: 'Hello World: 8'
[INFO] [1596263239.183826333] [talker]: Publishing: 'Hello World: 9'
[INFO] [1596263240.183818453] [talker]: Publishing: 'Hello World: 10'
●ノード:listener
$ ros2 run demo_nodes_cpp listener
[INFO] [1596263231.184980094] [listener]: I heard: [Hello World: 1]
[INFO] [1596263232.184511162] [listener]: I heard: [Hello World: 2]
[INFO] [1596263233.184592016] [listener]: I heard: [Hello World: 3]
[INFO] [1596263234.184556730] [listener]: I heard: [Hello World: 4]
[INFO] [1596263235.184569569] [listener]: I heard: [Hello World: 5]
[INFO] [1596263236.184601620] [listener]: I heard: [Hello World: 6]
[INFO] [1596263237.184526306] [listener]: I heard: [Hello World: 7]
[INFO] [1596263238.184538232] [listener]: I heard: [Hello World: 8]
[INFO] [1596263239.184086653] [listener]: I heard: [Hello World: 9]
[INFO] [1596263240.184065611] [listener]: I heard: [Hello World: 10]
Sponsored Link

このサイトはreCAPTCHAによって保護されており、Googleのプライバシーポリシー利用規約が適用されます。