.
/ 2020/05/15 訂正
/ 以下 version 記載ミスです。失礼しました (訂正済み)
# 以下を追加
(誤)
setenv PYTHONPATH $HOME/local/python/lib/python3.6/site-packages
(正)
setenv PYTHONPATH $HOME/local/python/lib/python3.8/site-packages
さくらインターネット
さくらのレンタルサーバー
スタンダードプラン
では、
FreeBSD + python2.x が標準構成 (2020/05/10 現在) で
各みなさまが、python3 を導入している記事が色々あり、
あえて記事にすることではないのですが、
それでもつまづいた部分をメモします
[ 参考にさせていただきましたページ ]
さくらのレンタルサーバスタンダードに python3 で pip3 したメモ
https://qiita.com/EmikoKishi/items/efbf94bb67c3f75e9741
さくらインターネットのレンタルサーバにPython3.6.8をインストール
https://ricom-techno.com/65/
[ 上記を参考に、python 3.8.2 を導入 ]
check version
https://www.python.org/ftp/python/
https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
sakura - ssh login
$ mkdir -p ~/wk/p3
$ mkdir -p ~/local/python
$ cd ~/wk/p3
$ wget --no-check-certificate https://www.python.org/ftp/python/3.8.2/Python-3.8.2.tgz
$ tar -zxvf ./Python-3.8.2.tgz
$ cd ./Python-3.8.2
$ ./configure CPPFLAGS="-I/usr/local/ssl/include" LDFLAGS="-L/usr/local/ssl/lib" --prefix=$HOME/local/python
$ make
$ make install
$ cd ~/
$ cp -R .cshrc .cshrc-bk
$ vi ~/.cshrc
# 以下を追加
set path = ($path $HOME/local/python/bin)
setenv PYTHON $HOME/local/python/lib
setenv PYTHONPATH $HOME/local/python/lib/python3.8/site-packages
setenv LD_LIBRARY_PATH $HOME/local/python/lib
[ それでもつまづいた部分 ]
$ source ~/.cshrc
-bash: /home/XXXX/.cshrc: line 8: syntax error near unexpected token `('
-bash: /home/XXXX/.cshrc: line 8: `set path=($path $HOME/local/python/bin)'
$ csh -fx ~/.cshrc
$ hash -r
$ which python3
-> none results ...
$ which pip
-> none results ...
$ python3 --version
-bash: python3: command not found
$ python3.8 --version
-bash: python3.8: command not found
$ echo $PATH
/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:/home/XXXX/bin
-> $ source の追記前の元記述部分での構文エラーも含め、再ログインしても、$PATH が更新されない
[ 解決の糸口を教えてくださいましたページ ]
さくらのレンタルサーバにpython3をインストールする方法について
https://ja.stackoverflow.com/questions/21198/%E3%81%95%E3%81%8F%E3%82%89%E3%81%AE%E3%83%AC%E3%83%B3%E3%82%BF%E3%83%AB%E3%82%B5%E3%83%BC%E3%83%90%E3%81%ABpython3%E3%82%92%E3%82%A4%E3%83%B3%E3%82%B9%E3%83%88%E3%83%BC%E3%83%AB%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6
(中略)
この状態でpython3を入力すると、-bash: python3: command not found となってしましいます
~/.bashrc に export PATH=$HOME/local/python/bin:$PATH と追記することで解決しました
[ 解決 ]
$ cd ~/
$ cp -R .profile .profile-bk
====================================================
$ vi ~/.profile
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$HOME/bin; export PATH
(上記 に対し、export PATH 以降の追記)
PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin:$HOME/bin; export PATH=$HOME/local/python/bin:$PATH
====================================================
$ source ~/.profile
$ hash -r
$ which python3
/home/XXXX/local/python/bin/python3
$ which pip3
/home/XXXX/local/python/bin/pip3
$ python3 --version
Python 3.8.2
$ pip3 --version
pip 19.2.3 from /home/XXXX/local/python/lib/python3.8/site-packages/pip (python 3.8)
$ pip3 install --upgrade pip
Successfully installed pip-20.1
[ 2020/05/16 追記 ]
さくらインターネットのアカウントを 2つ 所有しており、
上記記事の アカウント A に続き、アカウント B も同様に、
python3 のセットアップを行ったところ、以下の違いが出ました
違いの原因は現在不明です
===================================
[ アカウント A の環境 ]
Python 3.8.2 + .cshrc + .profile -> OK
pip 20.1 -> OK
% pip3 install requests --upgrade google-api-python-client
-> OK
% pip3 install --upgrade google-api-python-client oauth2client
-> OK
===================================
[ アカウント B の環境 ]
Python 3.8.2 + .cshrc -> OK
pip 20.1 -> OK
% pip3 install requests --upgrade google-api-python-client
-> ERROR: ModuleNotFoundError: No module named '_ctypes'
% pip3 install --upgrade google-api-python-client oauth2client
-> ERROR: ModuleNotFoundError: No module named '_ctypes'
===================================
アカウント B の環境では、冒頭の
さくらのレンタルサーバスタンダードに python3 で pip3 したメモ
https://qiita.com/EmikoKishi/items/efbf94bb67c3f75e9741
の方が記載しているとおり、Python 3.7 以降問題のような現象ですが、
アカウント A の Python 3.8.2 + pip 関連 NG 無しの状況が不透明です
$ sudo yum install libffi-devel
が、権限の関係で不可と思われるため、
アカウント B で、Python 3.8.2 を削除し、
Python 3.6.10 に入れなおしたところ、 pip エラー は なくなりました
.