【ブログでプログラミング】ロリポップライトプランでpipのライブラリを使う方法

スポンサーリンク
IT
スポンサーリンク

自身のこの記事を作成するために、pythonのスクレイピングの技術を使ってホームページ上の値段を自動で取得してグラフにする仕組みを使っています。

毎日更新!マイプロ価格チャート | インテリマッスル (youmy-lvup.com)


前はAWSのEC2でこの仕組みを作っていたのですが、維持費の都合上ロリポップのライトプランに乗り換えました。契約した後に気づいたのですが、ロリポップのライトプランではSSHの仕組みが使えません。
SSHが使えないと、今までサーバ側で動かしていたpythonのプログラムが動かせなくなる可能性があり、色々調べました。それでもpython使ったページは残したく、色々試行錯誤した結果を残したので、皆さんに共有します。

ロリポップのレンタルサーバライトプランでpythonを使うまでに確認すること
1.ロリポップのレンタルサーバにpythonは入っているの?
2.pipのライブラリは使えるの?
3.pipのライブラリ追加は出来るの?

1.ロリポップのレンタルサーバにpythonは入っているの?

デフォルトで入っています。パスが登録されているpythonは「Python 2.7.5」です。
ですが、実はpython3もデフォルトで入っており、「/usr/local/bin/python3.7」にコマンドが置いてあるので
フルパス指定、もしくはパスを通して使いましょう。
(※既述のとおり、ライトプランではSSHを使えません。コマンドの実行の仕方は後述します。)

2.pipのライブラリは使えるの?

デフォルトでは使えません。追加インストールする必要があります。
追加インストールには、以下の手順で実施します。

手順1.インストールコマンドを記述したテキストファイルの作成手順2.FTPでファイルを転送手順3.cronで転送したファイルの実行

手順1.インストールコマンドを記述したテキストファイルの作成

コマンドファイルは、以下のようなテキストファイルを、クライアント環境で作成します。

#!/bin/sh
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
/usr/local/bin/python3.7 get-pip.py --user
/usr/local/bin/python3.7 -m pip install --upgrade pip

python3でpipを使いたい場合、python3.7でコマンドを叩くこと、不用意にインストールターゲットパスは変えないほういいです。
文字コードはUTF-8、改行コードはLFで保存してください。

手順2.FTPでファイルを転送

ロリポップの全プランで使える、FTPファイル転送機能を使って、サーバにファイルを転送します。

手順3.cronで転送したファイルの実行

cronで先ほどのファイルを指定してファイルを実行します。
ロリポップの全プランで使える、FTPファイル転送機能を使って、ファイルを実行しましょう。
一回実行するだけですが、5分単位で設定して、メールで実行結果(標準出力)が送られてくる設定にしておくと、結果確認が楽です。
実行する際は、ファイルに実行権限を必ず付与してください。

これでインストールが完了しました。
pipライブラリがこれで使えるようになります。私はこの後、beautifulsoup4、requestsをpip3に追加して、スクレイピングの仕組みを作成し、前述のグラフを作成しています。
ここの作り方はまた記事にしようかと思います。
ライトプランでSSHが使えないからといって、出来ることが減るわけではありません。
色々工夫しながら、楽しみましょう。

IT
スポンサーリンク
もっちをフォローする
人生に強くなるブログ

コメント

  1. shell より:

    >>>pipライブラリがこれで使えるようになります。私はこの後、beautifulsoup4、requestsをpip3に追加して、スクレイピングの仕組みを作成し、前述のグラフを作成しています。

    お世話になります。pipライブラリのインストールまでは記事を参考にして無事
    インストールが終了しました。ありがとうございます。しかしpip3の使用方法が不明です。

    >beautifulsoup4、requestsをpip3に追加して、

    とありますが具体的にシェルファイル .shの中にpip3インストールをどのように記載したのでしょうか?

    例えば以下のようにシェルファイル(.sh)の中を記載するとエラーとなります。行 3: pip3: コマンドが見つかりません

    #!/bin/sh

    pip3 install requests

    pipを動かすコードを教えてください。宜しくお願いします。

    • もっち もっち より:

      コメントありがとうございます。
      pip3のフルパスをshellの中に記載しました。
      /home/users/1/XXXXXX(ユーザローカル)/.local/bin/pip3 install requests

      pip3のpathは、ロリポップのcron設定のところに、契約者が使えるディレクトリの
      途中からのパスが書いてあるので、そこらへんでls -lRを仕込んで、探したような気がします。

タイトルとURLをコピーしました