★さくらレンタルサーバーに科学計算用のPythonモジュールをインストール
Pythonの科学計算用のモジュール(pandas,numpy等)を、$HOME/.localの下にInstallしたいが、pipコマンドなどを使ってもInstallできない。2015年には容易にInstallすることができたのに。。。。
ちなみに、科学計算モジュール以外は、”python2.7 -m pip install [module名]でインストールできている。
2017-07-05までの作業記録
/////////////////////////
■.cshrcのset pathの設定
Loginしたところ下記のコメントが現れた
Last login: Wed Jul 5 08:26:57 2017 from kd106166229001.ppp-bb.dion.ne.jp
FreeBSD 9.1-RELEASE-p24 (SAKURA17) #0: Thu Feb 5 10:03:29 JST 2015
Welcome to FreeBSD!
Bad : modifier in $ (/).
–> .cshrcにexport PATH=”$PATH:/home/kasasan/.local/bin”を記述し、#しておかなかったことによる不具合
★cshの記述(文法)に従っていない。昨日のCompileでBad : modifier in $ (/). が多数現れたのはこのせいか…。
.cshrcのset path以下に$HOME/.local/binをaddするのみにに変更した。
set path = (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin $HOME/bin $HOME/.local/bin)
/////////////////////////
■セットアップ設定ファイル
ホームディレクトリに .pydistutils.cfg という名前で以下のような内容のファイルを用意。
[install]
user=1
これで、python setup.py install を実行したときの規定の動作が –user オプションを付けたときと同じになる。
参考URL:https://emptypage.jp/notes/sakura-python.html
・・・この記事は2013年で古くて、結局参考にならない。今はpipのインストールが主流。
//////////////////////////
■pipのインストール
sakuraのPythonにはpipがインストールされていなので、公式サイトのManualに従ってインストール。昨日までにpipはインストールできた。
(詳細はPythonの公式サイトに従ってget-pip.pyを走らせることで可能になったように思う。
いろいろやっているので、わからなくなったが、、、)
参考URL:
https://pip.pypa.io/en/stable/
http://www.python-izm.com/contents/basis/pip.shtml
・インストールしたpipのversionと、これまでInstallしたPackageは下記の通り・・・。
% pip -V
pip 9.0.1 from /home/kasasan/.local/lib/python2.7/site-packages (python 2.7)
%
python2.7 -m pip list
DEPRECATION: The default format will switch to columns in the future. You can use –format=(legacy|columns) (or define a format=(legacy|columns) in your pip.conf under the [list] section) to disable this warning.
-sqlite3 (0.0.0)
backports-abc (0.5)
backports.ssl-match-hostname (3.5.0.1)
BeautifulSoup (3.2.1)
bleach (2.0.0)
certifi (2017.4.17)
chardet (3.0.4)
configparser (3.5.0)
decorator (4.0.11)
Django (1.11.3)
entrypoints (0.2.3)
enum34 (1.1.6)
fail2ban (0.9.0)
functools32 (3.2.3.post2)
html (1.16)
html5lib (0.999999999)
idna (2.5)
ipython-genutils (0.2.0)
Jinja2 (2.9.6)
jsonschema (2.6.0)
jupyter-core (4.3.0)
MarkupSafe (1.0)
mistune (0.7.4)
mpmath (0.19)
MySQL-python (1.2.3)
nbconvert (5.2.1)
nbformat (4.3.0)
nose (1.3.7)
olefile (0.44)
pandocfilters (1.4.1)
Pillow (4.2.0)
pip (9.0.1)
ptyprocess (0.5.2)
Pygments (2.2.0)
pyparsing (2.2.0)
python-dateutil (2.6.0)
pytz (2017.2)
requests (2.18.1)
setuptools (33.1.1)
singledispatch (3.4.0.3)
six (1.10.0)
sympy (1.0)
terminado (0.6)
testpath (0.3.1)
tornado (4.5.1)
traitlets (4.3.2)
urllib3 (1.21.1)
webencodings (0.5.1)
wheel (0.29.0)
======================
■しかし、Numpy、Pandasなど科学技術計算のモジュールは、Installを受け付けない。
例)% pip install numpy –user を入力すると、多くのErrorメッセージが出る
Command “/usr/local/bin/python2.7 -u -c “import setuptools, tokenize;__file__=’/var/tmp/pip-build-YEt1AA/numpy/setup.py’;f=getattr(tokenize, ‘open’, open)(__file__);code=f.read().replace(‘\r\n’, ‘\n’);f.close();exec(compile(code, __file__, ‘exec’))” install –record /tmp/pip-aksB6D-record/install-record.txt –single-version-externally-managed –compile –user –prefix=” failed with error code 1 in /var/tmp/pip-build-YEt1AA/numpy/
===========================
■そこで、Numpyをソースから解凍してInstallを試みた(7月4日)
ソースはWindows環境で読み込み、FFFTPで~/www/tempへ入れた。
% tar -xzvf numpy-1.11.2.tar.gz
% cd ./numpy-1.11.2 NumpyのDirectoryができる
% python setup.py build -j 4 install –prefix $HOME/.local
結果:
building extension “numpy.random.mtrand” sources
creating build/src.freebsd-9.1-RELEASE-p24-amd64-2.7/numpy/random
building data_files sources
build_src: building npy-pkg config files
error: can’t combine user with prefix, exec_prefix/home, or install_(plat)base
–> userとprefix指定とをコンバインできなかったとのエラーメッセージ。
temp/numpy-1.11.2/build/src.freebsd-9.1-RELEASE-p24-amd64-2.7は作られている
~/.local/lib/python2.7/ 以下で解凍すればOKなのだろうか???
英文のManualを読むとそれらしきことが書いてあるが、本当の中身がわからないから怖い・・・
参考URL
https://github.com/numpy/numpy/blob/master/INSTALL.rst.txt
=====================
■再度Pipのエラーメッセージを読むと、なんか今のpackageのVersionが、さくらのPython Versionでは受け付けない可能性があるように思えてきた。
・ではNumpyの昔のVersionならOKなのか?
MiyasanのVersionを入れてみることにした。
ipython (3.1.0)
jsm (0.19)
matplotlib (1.4.3)
mock (1.0.1)
MySQL-python (1.2.3)
nose (1.3.6)
numpy (1.9.2)
pandas (0.16.0)
・MiyasanのNumpyは1.9.2なので、バージョンを指定してインストールを行う。
(python -m pip install PackageName==VersionNumber)
python -m pip install numpy==1.9.2
Downloading numpy-1.9.2.zip (4.5MB)
100% |################################| 4.5MB 198kB/s
Building wheels for collected packages: numpy
Running setup.py bdist_wheel for numpy … done
Stored in directory: /home/kasasan/.cache/pip/wheels/ed/65/08/3a944018ee43f1cb9c23ae2782a8ab3dcfed9b09144a74fda6
Successfully built numpy
Installing collected packages: numpy
Successfully installed numpy-1.9.2
なんと!!昔のVersionはOKだ!!
・ではPandasはどうか?
python -m pip install pandas==0.16.0
Downloading pandas-0.16.0.zip (5.2MB)
100% |################################| 5.2MB 184kB/s
Requirement already satisfied: python-dateutil in ./.local/lib/python2.7/site-packages (from pandas==0.16.0)
Requirement already satisfied: pytz>=2011k in ./.local/lib/python2.7/site-packages (from pandas==0.16.0)
Requirement already satisfied: numpy>=1.7.0 in ./.local/lib/python2.7/site-packages (from pandas==0.16.0)
Requirement already satisfied: six>=1.5 in ./.local/lib/python2.7/site-packages (from python-dateutil->pandas==0.16.0)
Building wheels for collected packages: pandas
Running setup.py bdist_wheel for pandas … done
Stored in directory: /home/kasasan/.cache/pip/wheels/24/5e/28/539566a54cc7c6d84d92d3c3f34809e80d6afa06e0235afc59
Successfully built pandas
Installing collected packages: pandas
Successfully installed pandas-0.16.0
サーバーが長いことBuildしているんでこれはだめかなと思いきや、3分ぐらいして成功メッセージ!!
本当にInstallされたか、Pyhtonで確かめる。
% python
Python 2.7.6 (default, May 21 2014, 16:52:04)
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import pandas as pd
>>> import numpy as np
>>>
OK!!!
・最後にmatplotlib (1.4.3)を入れてみる
python -m pip install matplotlib==1.4.3
Downloading matplotlib-1.4.3.tar.gz (50.4MB)
100% |################################| 50.4MB 16kB/s
Requirement already satisfied: numpy>=1.6 in ./.local/lib/python2.7/site-packages (from matplotlib==1.4.3)
Requirement already satisfied: six>=1.4 in ./.local/lib/python2.7/site-packages (from matplotlib==1.4.3)
Requirement already satisfied: python-dateutil in ./.local/lib/python2.7/site-packages (from matplotlib==1.4.3)
Requirement already satisfied: pytz in ./.local/lib/python2.7/site-packages (from matplotlib==1.4.3)
Requirement already satisfied: pyparsing>=1.5.6 in ./.local/lib/python2.7/site-packages (from matplotlib==1.4.3)
Requirement already satisfied: nose>=0.11.1 in ./.local/lib/python2.7/site-packages (from matplotlib==1.4.3)
Collecting mock (from matplotlib==1.4.3)
Downloading mock-2.0.0-py2.py3-none-any.whl (56kB)
100% |################################| 61kB 2.4MB/s
Collecting funcsigs>=1; python_version < “3.3” (from mock->matplotlib==1.4.3)
Downloading funcsigs-1.0.2-py2.py3-none-any.whl
Collecting pbr>=0.11 (from mock->matplotlib==1.4.3)
Downloading pbr-3.1.1-py2.py3-none-any.whl (99kB)
100% |################################| 102kB 2.9MB/s
Building wheels for collected packages: matplotlib
Running setup.py bdist_wheel for matplotlib … done
Stored in directory: /home/kasasan/.cache/pip/wheels/de/fc/5f/f2e20a2795dce75b7297db84e5e47db320eb0b308c37746b75
Successfully built matplotlib
Installing collected packages: funcsigs, pbr, mock, matplotlib
Successfully installed funcsigs-1.0.2 matplotlib-1.4.3 mock-2.0.0 pbr-3.1.1
%
OKOK!!
% python
Python 2.7.6 (default, May 21 2014, 16:52:04)
[GCC 4.2.1 20070831 patched [FreeBSD]] on freebsd9
Type “help”, “copyright”, “credits” or “license” for more information.
>>> import matplotlib
>>>
pythonでちゃんとimportされる!!
■さっそくkasasanの観測データ用programを走らせる。
% python bme280us.py
plot end. OK!
data_now csv_file was generated. OK!
%
OK OK!!
いやーこの2日間はなんだったのか??肩や首がめちゃくちゃこった。
////////////////////////////////
■最後に、さくらインターネットのコントロールパネルから、CRON設定
* CRON スケジュール設定 *
実行コマンド
cd /home/kasasan/www/logdata; /usr/local/bin/python bme280us.py
月 *
日 *
時 *
分 1,16,31,46
曜日日 月 火 水 木 金 土
コメント kasasan観測データ更新送信 送信
・無事15分ごとにデータが更新されるようになった。。。
白馬 温度 湿度 気圧 積雪
Hakuba_Now (degC) (%RH) (hPa) (cm)
2017-07-05 11:40 27.2 45.4 899.7 73.9
2017-07-05 11:45 27.2 45.8 899.6 74.0
////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////
Pythonのインストール環境の中味がよくわからないので、今日(7月5日)はPythonのVirtual環境をトライしてみることにしていたがとりやめ。ただし今後レンタルサーバで何かを作ろうと思うと、この環境が必要かも・・・。いずれにしても今日は休憩します。。。。ご苦労様でした。
さくらインターネットに問い合わせてもまだ返信ナシ。多くのユーザーが困っているように思うから、FAQに挙げておけば良いと思うのですがね〜。
さくらインターネットさんから返信あり。
モジュールインストールはサポート対象外とのこと。
最終的には、ROOT権限で設定できるVPS環境にしないと、だめかもしれませんね。
以下回答結果です。2017/07/08 (土) 11:06
ーーーーーーーーーーーーーーーーーーーーーーーーーーーー
メールでのお問い合わせが混み合っており、ご連絡が遅れてしまい、申し訳ございません。
わざわざご連絡をいただき、誠にありがとうございます。
お申し出いただきましたところ恐れ入りますが、追加モジュールのインストールにつきましては、弊社サポートの対象外とさせていただいており、個別のご案内を承っておりません。
このたびのお申し出につきましては、ご要望としてお伺いいたしますが、今後も掲載される可能性は低いかと存じます。
何卒、ご理解賜りますよう、お願いいたします。
ご不明な点やご質問等ございましたら、本メール返信にてお問い合わせ ください。
今後ともさくらインターネットをよろしくお願いいたします。