ubuntuのインストール直後はpythonコマンドはpython2.7系、3.8系のpythonを使いたければpython3と打たなければならなかった。まぁ仮想環境を構築すれば良いんだけど、サーバー設定環境等全ユーザーで3系を使いたいので、対策した時の覚書き
ググったサイトを参考に、update-alternativesコマンドを使用してデフォルトの起動バージョンを3系とした。
root@server:~# update-alternatives --config python
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
0 /usr/bin/python3.8 2 auto mode
1 /usr/bin/python2.7 1 manual mode
* 2 /usr/bin/python3.8 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
こんな感じでpython3が選択されている
ここで、勉強は各種実験用に個人ディレクトリにpython仮想環境を構築(venvを使用)
xxxx@server:~$ python -m venv venv
xxxx@server:~$ cd venv/
xxxx@server:~/venv$ ls
bin include lib lib64 pyvenv.cfg share
xxxx@server:~/venv$ source bin/activate
(venv) xxxx@server:~/venv$ ls
bin include lib lib64 pyvenv.cfg share
(venv) xxxx@server:~/venv$ which python
/home/xxxx/venv/bin/python
まずはpipのアップデート
(venv) xxxx@server:~/venv$ pip install -U pip
Collecting pip
Downloading pip-21.1.2-py3-none-any.whl (1.5 MB)
|████████████████████████████████| 1.5 MB 4.0 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.0.2
Uninstalling pip-20.0.2:
Successfully uninstalled pip-20.0.2
Successfully installed pip-21.1.2
あとは色々モジュールを入れたりすれば良いですが、折角なので最新バージョンを使用出来るようにと
こちらを参考にpyenv仮想環境を構築した。
git clone https://github.com/pyenv/pyenv.git ~/.pyenv
cd ~/.pyenv
git pull
下記のように環境変数を設定するよう.profileを書き換えて再ログイン
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.profile
echo 'eval "$(pyenv init --path)"' >> ~/.profile
pyenv install -l | grep 3.9
3.9.0
3.9-dev
3.9.1
3.9.2
3.9.3
3.9.4
3.9.5
最新は3.9.5なのでこれをインストール
なんか色々エラーが出たらコンパイルのためのライブラリが足らんようです。当方の場合はbz2が足りなかったので、
sudo apt install -y libbz2-dev libsqlite3-dev
あとググって足らなさそうなものも入れておくと、無事インストール終了
pyenv global 3.9,5 ----- 3.9,5 を使用する
pyenv global system ----- システムにインストールされているバージョンを使用
python -V
バージョン確認して無事変更されていたら、さらにvenvによる仮想環境も構築しておく
python -m venv venv
cd venv
source bin/activate
python -V
deactivate
こっちの方がライブラリが探しやすいが、pyenvで最新版のpythonが使う環境も欲しいということでの2本立てとしてみた。ライブラリ何度も入れないといけなさそうだけど、色々体で覚えていけそうw