備忘録

memo

Jetson nanoでPythonをソースからインストールする

はじめに

Jetson nanoでPythonの開発環境を構築する必要があったので、その際の手順を忘れないようにメモしておきます。

前提:

  • Jetson nano自体はセットアップ済み

まずJetson nanoで使われているUbuntu系のOSでのPythonの環境構築について調べてみると

Ubuntu には最初からPythonがインストールされており、そのまま利用可能です。
しかし、このPython は、 OS がさまざまな機能を提供するために使用しています。ユーザが勝手にパッケージを導入したりすると、 OS の安定性を損なうことも考えられますので、別途、あたらしいPythonをインストールするのが一般的です。
引用元:Ubuntu環境のPython: Python環境構築ガイド - python.jp

とのことでしたので、引用元に倣ってあたらしいPythonをソースからインストールしたいと思います。以下が実際の手順です

  1. 事前準備(依存ファイルのインストール)
  2. ソースからのPythonをダウンロード
  3. Pythonをビルド・インストール

事前準備(依存ファイルのインストール)

新規にPythonをインストールする際にはいくつかのビルドツールなどのインストールが必要です。次のコマンドでインストールします。

$ sudo apt update
$ sudo apt upgrade
$ 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

これらがないとPythonのビルド自体ができなかったり、いくつかの機能でエラーが出たりしてしまいます。
その際にはエラーを参考に該当するライブラリをインストールして再ビルドする必要があります。

ソースからのPythonをダウンロード

ソースファイルはDownload Python | Python.org からダウンロードできます。
過去のバージョンのリリースもあるので必要なバージョンを選択してください。
UbuntuなどのLinux用には拡張子がtar.xzとtgzのファイルが用意されているのでどちらかをダウンロードしてください。

ダウンロードしたファイルを展開(解凍)します。 次のコマンドで解凍します。

$ tar Jxfv Python-3.?.?.tar.xz

or

$ tar xzf Python-3.?.?.tgz

実際にダウンロードしたバージョンとファイル形式に合わせてどちらかのコマンドを使ってください。

Pythonをビルド・インストール

まず展開したPythonディレクトリへ移動し、configureスクリプトを実行します。

$ cd Python-3.?.?
$ ./configure

次にmakeコマンドを実行してコンパイルします。

$ make

最後にmake altinstallコマンドを実行してインストールします。

$ sudo make altinstall

ビルドしたコマンドは /usr/local/binにインストールされ、python3コマンドまたはpython3.?コマンドで起動できます。

$ python3 -V

or

$ python3.? -V

おわりに

Jetson nanoでPythonの開発環境を構築するためにソースからインストールする手順をまとめました。 Jetson nanoだからといってUbuntuでの方法と特に差異はありませんでした。 今後、何かJetson nano特有のエラー等が確認できたら更新します。 またPythonのバージョン管理やエディター(VS code)のインストールについてもまとめる予定です。

Markdown記法 はじめる

テキスト

見出し

記述

# h1
## h2
### h3
#### h4
##### h5
###### h6

結果

h1

h2

h3

h4

h5
h6

書体

記述

Plane
_Italic_
__Bold__
~~Strikethrough~~

結果

Plane Italic Bold Strikethrough

改行

記述

Plane<br>
_Italic_<br>
__Bold__<br>
~~Strikethrough~~<br>

結果

Plane
Italic
Bold
Strikethrough


リスト

Disc型

記述

- list
  - nest

結果

  • list
    • nest

Decimal型

記述

1. list
1. list

結果

  1. list
  2. list


引用

記述

> quote

結果

quote


記述

![hatenablog_icon](https://cdn.blog.st-hatena.com/images/common/logo-hatenablog.svg?version=bd35a75874898e7fd033b46a6c15859e27884ef7&env=production)

結果

hatenablog_icon


記述

| Left align | Right align | Center align |
|:-----------|------------:|:------------:|
| left | right | center |

結果

Left align Right align Center align
left right center


数式

記述

<!--ディスプレイ数式--!>
<div align='center' class='scroll'>
[tex: \displaystyle
F = ma
]
</div>
<!--インライン数式--!>
[tex: m ]を物体の質量、[tex: a ]を加速度とすると、[tex: F ]は力を示す。

結果

 \displaystyle
F = ma
 m を物体の質量、 a を加速度とすると、 F は力を示す。


リンク

記述

[hatenablog](https://hatenablog.com/ "Title")

結果

hatenablog