はじめに
Jetson Nanoにインストールされているpython3は3.6.7である。pipenvでディレクトリごとに環境を構築していると、異なるバージョンのPythonを使いたくなることがある。こんなときに使用するのがpyenvである。
pipenvはpyenvと連携するため、pipenv + pyenvの組み合わせでディレクトリごとに異なるPythonバージョンを伴う環境を構築することができる。
パッケージのインストール
aptコマンドを使ってPythonをソースコードからコンパイルする上で必要なパッケージ群をインストールする。
ターミナル
sudo apt install libssl-dev libffi-dev libbz2-dev libncurses5-dev libdb-dev libgdbm-dev liblzma-dev libsqlite3-dev tk-dev uuid-dev libreadline-dev
pyenvのインストール
pyenvはaptやpipではインストールできないのでgitを使ってインストールする。
ターミナル
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
~/.bashrcの最後に下記を追加。
~/.bashrcの最後
# pyenv settings
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
if command -v pyenv 1>/dev/null 2>&1; then
eval "$(pyenv init -)"
fi
設定の読み込みを行う。
ターミナル
source ~/.bashrc
インストールの確認はpyenv -h
で行う。
ターミナル
yamamo-to@jetson-nano:~$ pyenv -h
Usage: pyenv <command> [<args>]
Some useful pyenv commands are:
commands List all available pyenv commands
local Set or show the local application-specific Python version
global Set or show the global Python version
shell Set or show the shell-specific Python version
install Install a Python version using python-build
uninstall Uninstall a specific Python version
rehash Rehash pyenv shims (run this after installing executables)
version Show the current Python version and its origin
versions List all Python versions available to pyenv
which Display the full path to an executable
whence List all Python versions that contain the given executable
See `pyenv help <command>' for information on a specific command.
For full documentation, see: https://github.com/pyenv/pyenv#readme
異なるPythonのバージョンをインストール
試しに$HOME/Documents/Python3.5以下に、python 3.5の環境を構築する。
ターミナル
yamamo-to@jetson-nano:~$ mkdir ~/Documents/Python3.5
yamamo-to@jetson-nano:~$ cd ~/Documents/Python3.5
yamamo-to@jetson-nano:~/Documents/Python3.5$ pipenv --python 3.5
「システムにPython 3.5が見つからないのでpyenvを使ってCPythonをインストールして良いか?」のようなメッセージが表示されるので「y」と答える。これでしばらく待つとPython 3.5が利用可能となる。
ターミナル
yamamo-to@jetson-nano:~/Documents/Python3.5$ pipenv run python -V
Python 3.5.7
実行時のイメージは下記の画像の通り。