python PR

レンタルサーバーでPythonを動かす!lolipopを使った手順とポイント

pythonをレンタルサーバーで実行する方法 【lolipop編】
記事内に商品プロモーションを含む場合があります

レンタルサーバーを使えば、pythonを決まった時間に自動で実行することができます

2022年11月までは、Herokuというサービスを使えば定期実行することができましたが、11月末から有料化してしまい、乗り換えを検討している方も多いと思います

lolipopというレンタルサーバーは、月額440円からなので、Herokuに課金するよりも安く済みますので、おすすめです

今回はlolipopを使って、pythonをレンタルサーバ上で定期実行する方法について解説をしていきたいと思います

この記事でわかること

  • pythonをレンタルサーバーで実行する方法
  • レンタルサーバーの選び方
  • lolipopを使ったレンタルサーバーの基本設定

筆者について

2021年から本格的にpython学習を始め、今ではpythonによる収益5桁

主にデータ解析やデスクトップアプリ、業務効率化・自動化などを中心に作成中

また大学院時代には、R言語とpythonを使って統計処理を行っていたため、pythonを使ったデータ分析の知識が豊富

Pythonでデータ分析を始めよう!挫折しない実践ガイドでスキルアップ

Pythonの独学を始めたけど、あまり身につかない…と言う方はこちら

Pythonが使えるレンタルサーバーの選ぶ基準

Pythonが使えるレンタルサーバーの選ぶ基準はいくつかありますが、重要なのは次の3つ

  • 使えるPythonのバージョン
  • データベースが使えるか
  • Cron設定が可能か

それぞれ説明していきます

使えるPythonのバージョン

現在主流なのは、Python3.x.xです

そのため、Pythonをレンタルサーバー上で動かそうと考えた時、レンタルサーバーがPython3.x.xに対応しているかを確認する必要があります

例えば、さくらレンタルサーバーは一部がPython2.x.xのみの対応になっており、ローカル環境で作成したプログラムをそのまま流用することができない可能性が高いです

そのため、レンタルサーバーでPythonを動かそうと考えている場合には、Python3.x.x系が使えるサーバーにしましょう

有料レンタルサーバーの比較

エックスサーバーロリポップConoHa WINGHeroku
プランスタンダードスタンダードベーシックEco・Basic
料金1,320円/3ヶ月1,320円/3ヶ月1,452円/1ヶ月15ドル/3ヶ月
ディスク容量300GB450GB300GB不明
Pythonのバージョン2.7/ 3.62.7/3.42.7全て

データベースが使えるか

定期的にプログラムを実行して、その結果を格納するためにはデータベースが必要です

多くのレンタルサーバーでは、データベースを使用することができますが、登録できるデータベースの数に違いがあります

そのため、必要とするデータベース数を元に、契約するレンタルサーバーを選ぶのがいいでしょう

有料レンタルサーバーの比較

エックスサーバーロリポップConoHa WINGHeroku
プランスタンダードスタンダードベーシックEco・Basic
料金1,320円/3ヶ月1,320円/3ヶ月1,452円/1ヶ月15ドル/3ヶ月
mysel
登録上限数無制限104.5GB/1個無制限
SQLite×
PostgreSQL××

Cron設定が可能か

Pythonで作成したプログラムを定期的に実行するためには、Cron設定が必要です

基本的にはほとんどのレンタルサーバーでCron設定を行うことができますが、設定のしやすさでいえば、lolipopの一択です

有料レンタルサーバーの比較

エックスサーバーロリポップConoHa WINGHeroku
プランスタンダードスタンダードベーシックEco・Basic
料金1,320円/3ヶ月1,320円/3ヶ月1,452円/1ヶ月15ドル/3ヶ月
Cron

Pythonをレンタルサーバーで実行する方法

pythonをレンタルサーバーで実行する方法

では、早速pythonをレンタルサーバーで実行する方法について解説をしていきます

今回はロリポップで解説していきますが、ConoHa WINGエックスサーバーでもPythonを動かすことはできます

エックスサーバーロリポップConoHa WINGHeroku
プランスタンダードスタンダードベーシックEco・Basic
料金1,320円/3ヶ月1,320円/3ヶ月1,452円/1ヶ月15ドル/3ヶ月
ディスク容量300GB450GB300GB不明
Pythonのバージョン2.7/ 3.62.7/3.42.7全て

必要な設定は、次の6つです

  • レンタルサーバーのlolipopに契約
  • lolipopでSSHを有効にする
  • lolipopでpythonが使える準備
  • lolipopサーバーにアクセスする
  • lolipopのFTPにpythonファイルをアップロードする
  • cronの設定をする

lolipopに契約

今回は、レンタルサーバーのlolipopでpythonを実行していきます

まだ契約していない方は、ここから契約することができます

lolipopの契約に進む

lolipopでSSHを利用できるプラン

lolipopでSSHを利用するには、

  • スタンダードプラン
  • ハイスピードプラン
  • エンタープライズプラン

のいずれかになります

スタンダードプランが最も価格が安いのですが、2023年5月の段階で新規受付を停止しているので、ベーシックプランの契約になります

スタンダードプランの新規登録が再開となり、新たにハイスピードプランができました

スタンダードプランが最安値なので、利用する場合にはスタンダードで十分です

lolipopでSSHを有効にする

レンタルサーバーのlolipopでpythonを実行するためには、SSHと呼ばれる機能をオンにする必要があります

SSHとは、ネットワークに接続された機器を遠隔操作するための方法です

Macであればターミナル、Windowsであればコマンドプロンプトを使用していきます

まずはlolipopにログインをします

その後、「サーバーの管理・設定」欄から「SSH」を選択し、「SSHを有効にする」をクリックします

lolipop設定

私はすでに有効にしているため、画像とは異なりますが、有効にすれば同じ画面になります

また、この時に出てくるサーバーやアカウント、接続ポートなどは、この後に必要になりますので、メモしておきましょう

lolipop設定2lolipopサーバーにアクセスする

SSHを有効にできたら、lolipopサーバーにアクセスをします

Macの方はターミナル、Windowsの方はコマンドプロンプトで、以下のコマンドを入力します

ssh -p 接続ポート アカウント@サーバー

接続ポートやアカウント、サーバーはSSHを有効にした時に表示されていたものです

メモしていなくても、lolipopのSSHにアクセスすれば、確認することができます

lolipop側で表示されていたのが、次のような場合、

  • サーバー:ssh.aaaa.jp
  • アカウント:pypypytho
  • 接続ポート:1234
  • パスワード:abcd4321

入力は次のようになります

ssh -p 1234 pypypython@ssh.aaaa.jp

入力後にエンターキーを押すと、パスワードの入力を求められるので、パスワードを入力します

この時、入力しても画面上の変化はありません

画面上に変化はありませんが、しっかりと入力されているので、コピペで大丈夫です

コピペ後にエンターキーを押して、問題がなければ、lolipopのサーバーに接続されます

lolipopでpythonが使える準備

サーバーにアクセスできたら、lolipopにpythonをインストールしていきます

pythonをインストールするためには、「pip」を先にインストールしておきます

pipとは、パッケージ管理ツールです

pipを使うことで、さまざまなライブラリを使用することができます

pipのインストールは、次のコマンドをコピペでOKです

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py

完了したら、次のコマンドを入力します

python3 get-pip.py --user

コマンドの意味などは割愛していますが、詳しく知りたい方は、Python:pip における管理者権限と user installをご覧ください

うまくいくと、こんな感じの画面が出てきます

Collecting pip
  Downloading pip-21.3.1-py3-none-any.whl (1.7 MB)
     |████████████████████████████████| 1.7 MB 28.0 MB/s            
Collecting wheel
  Downloading wheel-0.37.0-py2.py3-none-any.whl (35 kB)
Installing collected packages: wheel, pip

Successfully installed pip-21.3.1 wheel-0.37.0

この画面で、「Successfully ~~~」が出たら、最後にPATHを通していきます

PATHを通すには、Viを使っていきます

まずはlollipop上でどこにいるかを確認しましょう

pwd

上記のコマンドで、自分のいるディレクトリがわかります

基本的には、/home/users/番号/ユーザー名になっていると思います

確認できたら、Viを実行します

vi .bash_profile

入力後、以下のような画面になりますので、

PATH=$PATH:/home/users/番号/ユーザー名/.local/bin
export PATH

と入力をします

Viの基本操作は、

  • i:現在の位置から挿入
  • ESC:編集終わり
  • :wq:保存して終了
  • :q:保存せずに終了

になります

入力したら、保存して終了して、次のコマンドを入力します

source .bash_profile

これでbash_profileが更新されました

PATHが通っているかを確認するために、以下のコマンドを入力します

pip3 list

以下のように表示されれば、成功です

Package                Version
---------------------- -------
mysql-connector-python 8.0.26
mysqlclient            2.0.3
pip                    21.3.1
protobuf               3.18.0
PyMySQL                1.0.2
setuptools             47.1.0
wheel                  0.37.0

lolipopのFTPにpythonファイルをアップロードする

これでlolipopでpythonを使うことができるようになりました

あとは、lilipopのFTPにpythonファイルをアップロードすればOKです

この時、pythonファイルで使用しているライブラリは、あらかじめpip3でインストールしておく必要があります

lolipopにログインして、「サーバーの管理・設定」から「ロリポップ!FTP」をクリックし、ログインします

lolipop設定3

ログイン後、以下のような画面になります

lolipop設定5

ここに新しいフォルダを作成して、pythonファイルを保存しておきます

フォルダ名・ファイル名はともに英語にしておきます

日本語で保存すると、正常に動作しません

例えば、

  • フォルダ名:python
  • ファイル名:lolipoppython.py

などです

ファイルをアップロードするには、FTP画面の「アップロード」を選択して、「ファイルを選択する」→「アップロードする」をクリックすればOKです

lolipop設定4

pythonファイルの属性を「755」にして、呼び出しや実行ができるようにして、保存をしておきましょう

lolipop設定6

また、pythonファイルの先頭には、「#!/usr/local/bin/python3.7」をつけて保存をします

これでlolipopにpythonファイルのアップロードが終了しました

lolipopの契約がまだの方は、この機会に契約をしておきましょう

cronの設定をする

最後にcronを設定します

lolipopホーム画面から「cron設定」をクリックします

lolipop設定7

cronの設定名を入力して、実行する日付や時間を設定します

lolipop設定8

その後、実行ファイルパスを入力しますが、~~~/web/以下のパスを入力します

今回の例で言うと、入力するのは、

python/lolipoppython.py

となります

パスを入力したら、「設定」をクリックして、cronの設定は終了です

pythonでtwitter自動化をレンタルサーバー上で実行するサンプルコード

pythonでtwitter自動化をレンタルサーバー上で実行するサンプルコード

lolipopの設定はできたけど、定期実行するpythonファイルがないよ、と言う方向けに、サンプルコードを提示します

今回のサンプルコードはtwitterのアンフォロー自動化のサンプルコードです

# ライブラリの読み込み
import tweepy

#****には自身のコードを入力してください
CONSUMER_KEY = '****'
CONSUMER_SECRET = '****'
ACCESS_TOKEN = '****'
ACCESS_SECRET = '****'

#twitter認証
auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_SECRET)
api = tweepy.API(auth)
  
# フォロワーの取得
# ****には自分自身の@以降を入力してください。
followers = api.get_follower_ids(user_id="****")
# フォローユーザーの取得
friends = api.get_friend_ids(user_id="****")
 
# フォローユーザー分だけループ
for f in friends:
 
    # フォローユーザーがフォロワー一覧に含まれていないなら
    if f not in followers:
        api.destroy_friendship(user_id=f)
        print(f)

pythonを使ってtwitterのいいね自動でのリツイートなども行うことができます

うまく活用することで、twitterの懸賞に自動で応募することもできます

詳細のnoteにまとめているので、参考にしてみてください

pythonでtwitterの懸賞に自動で応募する方法

pythonでtwitterを自動化する方法

pythonでtwitterを自動化するためには、tweepyと言うライブラリを使用します

公式ドキュメントはこちら-tweepy3.6.0

また、ブログでもtwitterのAPI取得から詳細に解説しているので、公式ドキュメントを読まなくても、pythonを使ってtwitterの自動化を行うことができます

pythonを実行するのにおすすめのレンタルサーバー

pythonを実行するのにおすすめのレンタルサーバー

今回はプライベートで使用しているサーバーがlolipopだったので、lolipopで解説を行いました

しかし、レンタルサーバーはいくつも種類があり、これからレンタルサーバーに契約をしようと思っている方は悩んでしまうかと思います

エックスサーバーロリポップConoHa WINGHeroku
プランスタンダードスタンダードベーシックEco・Basic
料金1,320円/3ヶ月1,320円/3ヶ月1,452円/1ヶ月15ドル/3ヶ月
ディスク容量300GB450GB300GB不明
Pythonのバージョン2.7/ 3.62.7/3.42.7全て

これから、pythonをレンタルサーバー上で定期実行させようと思っているならば、この記事と同じlolipopに契約することをおすすめします

同じレンタルサーバーであれば、設定を楽に行えるからです

もしレンタルサーバーをlolipop以外で考えているのであれば、次のレンタルサーバーがおすすめです

どちらも有名なレンタルサーバーなので、どれを選んでも失敗はありませんが、設定などが一番楽なのはlolipopです

エックスサーバー

エックスサーバー

エックスサーバーでもpythonを使うことができますが、エックスサーバーには管理者権限がありません

そのため、pipでライブラリなどをインストールすることができないので、ライブラリを使用するようなpythonプログラムは難しいです

難しいと言うのは、できないわけではないけど、いろんな設定をしないとライブラリを使うことができない

と言うことです

もし、エックスサーバーでライブラリを使って、pythonを実行させたい場合には、次の記事が参考になります

エックスサーバーでFlaskアプリケーションを公開する(Miniconda使う)

ConoHa WING

ConoHa WING

ConoHa WINGでもpythonを使うことができますが、拡張子を変更する必要があり、やや煩雑です

lilipopであれば、拡張子は.pyのまま使用することができるので、作成したpythonファイルをそのまま使用することができます

また、値段もlolipopの方が安価であるため、よほどの理由がない限り、これからレンタルサーバーに契約するのであれば、lilopopがおすすめです

Pythonのレンタルサーバーに関するよくある質問

ここからはPythonのレンタルサーバーでよく聞かれる質問について回答していきます

Pythonのレンタルサーバーは何を基準にすればいい?

レンタルサーバーが対応しているPythonのバージョンを基準にしましょう。version2と3以降では使えるライブラリが違うのでversion3が使えるレンタルサーバーがおすすめ。

Pythonのレンタルサーバーを便利に使うために何が必要?

自動でプログラムを実行できるCron設定ができるレンタルサーバーを選ぶのがおすすめ。

CronはPythonを定期的に実行するために必要なレンタルサーバーの機能です。

エックスサーバーロリポップConoHa WING
プランスタンダードスタンダードベーシック
料金1,320円/3ヶ月1,320円/3ヶ月1,452円/1ヶ月
Cron
設定上限無制限10記載なし

Pythonのレンタルサーバーでおすすめはどこ?

今回の情報をまとめると、Pythonのレンタルサーバーでおすすめなのは、ロリポップです

エックスサーバーもいいですが、設定がやや煩雑でエンジニアの方でも苦戦しています

また、ConoHa WINGは使えるPythonのバージョンが2までなので、Pythonをレンタルサーバーで動かすなら、ロリポップがいいです

まとめ

まとめ
  • pythonをレンタルサーバー上で実行させるなら、lolipopがおすすめ
  • レンタルサーバー上でpythonを実行させる場合には、SSHを使用
  • lolipop、エックスサーバー、ConoHa WINGの3つなら、lolipopが最安値

pythonの学習を効率よく進めたい方はプログラミングスクールの利用がおすすめ

DMMWEBCAMP


  • WEBCAMPはコスパ最強
  • WEBCAMPは初心者に優しい充実したサポート付き
  • 16週間プランを選択して、返金してもらおう

WEBCAMPの公式ページはこちら
WEBCAMPの口コミ・評価はこちら

テックアカデミー
 


  • テックアカデミーは費用対効果抜群
  • テックアカデミーのサポートは個人の能力に応じつつ、python初心者に優しい
  • まずは無料体験でテックアカデミーを知ってから受講を決める

テックアカデミーの公式ページはこちら
テックアカデミーの口コミ・評価はこちら

データミックス

  • データサイエンスを学ぶならデータミックス一択
  • Pythonの実装も学べる
  • 教育給付金制度で費用を抑えられる

データミックスの公式ページはこちら
データミックスの口コミ・評価はこちら

キカガク
  • 多種多様なスキルコース
  • 初心者から専門家まで対象
  • 給付金利用で費用を抑えられる

キカガクの公式ページはこちら
キカガクの口コミ・評価はこちら

Aidemy Premium

  • 完全オンラインで、時間や場所に縛られず学習したい
  • マンツーマン学習サポートにより実践に近い経験をしたい
  • 未経験から機械学習エンジニアになりたい

Aidemy Premiumの公式ページはこちら
Aidemy Premiumの口コミ・評価はこちら

おすすめプログラミングスクール

DMMWEBCAMP
  • WEBCAMPはコスパ最強
  • WEBCAMPは初心者に優しい充実したサポート付き
  • 16週間プランを選択して、返金してもらおう
WEBCAMPの公式ページはこちら WEBCAMPの口コミ・評価はこちら
テックアカデミー  
  • テックアカデミーは費用対効果抜群
  • テックアカデミーのサポートは個人の能力に応じつつ、python初心者に優しい
  • まずは無料体験でテックアカデミーを知ってから受講を決める
テックアカデミーの公式ページはこちら テックアカデミーの口コミ・評価はこちら
キカガク
  • 多種多様なスキルコース
  • 初心者から専門家まで対象
  • 給付金利用で費用を抑えられる
キカガクの公式ページはこちら キカガクの口コミ・評価はこちら
Aidemy Premium
  • 完全オンラインで、時間や場所に縛られず学習したい
  • マンツーマン学習サポートにより実践に近い経験をしたい
  • 未経験から機械学習エンジニアになりたい
Aidemy Premiumの公式ページはこちら Aidemy Premiumの口コミ・評価はこちら
My Agile Privacy
This website uses technical and profiling cookies. Clicking on "Accept" authorises all profiling cookies. Clicking on "Refuse" or the X will refuse all profiling cookies. By clicking on "Customise" you can select which profiling cookies to activate.