レンタルサーバーを使えば、pythonを決まった時間に自動で実行することができます
2022年11月までは、Herokuというサービスを使えば定期実行することができましたが、11月末から有料化してしまい、乗り換えを検討している方も多いと思います
lolipopというレンタルサーバーは、月額440円からなので、Herokuに課金するよりも安く済みますので、おすすめです
今回はlolipopを使って、pythonをレンタルサーバ上で定期実行する方法について解説をしていきたいと思います
この記事でわかること
- pythonをレンタルサーバーで実行する方法
- レンタルサーバーの基本設定
筆者について
2021年から本格的にpython学習を始め、今ではpythonによる収益5桁
主にデータ解析やデスクトップアプリ、業務効率化・自動化などを中心に作成中
また大学院時代には、R言語とpythonを使って統計処理を行っていたため、pythonを使ったデータ分析の知識が豊富
Contents
pythonをレンタルサーバーで実行する方法

では、早速pythonをレンタルサーバーで実行する方法について解説をしていきます
今回はロリポップで解説していきますが、ConoHa WINGやエックスサーバー
でもPythonを動かすことはできます
エックスサーバー | ロリポップ | ConoHa WING | Heroku | |
---|---|---|---|---|
プラン | スタンダード | ベーシック | ベーシック | Eco・Basic |
料金 | 1,320円/3ヶ月 | 1,320円/3ヶ月 | 1,452円/1ヶ月 | 15ドル/3ヶ月 |
ディスク容量 | 300GB | 400GB | 300GB | 不明 |
Pythonのバージョン | 2.7/ 3.6 | 2.7/3.4 | 2.7 | 全て |
必要な設定は、次の6つです
- レンタルサーバーのlolipopに契約
- lolipopでSSHを有効にする
- lolipopでpythonが使える準備
- lolipopサーバーにアクセスする
- lolipopのFTPにpythonファイルをアップロードする
- cronの設定をする
lolipopに契約
今回は、レンタルサーバーのlolipopでpythonを実行していきます
まだ契約していない方は、ここから契約することができます
lolipopでSSHを利用できるプラン
lolipopでSSHを利用するには、
- スタンダードプラン(新規受付停止)
- ベーシックプラン
- エンタープライズプラン
のいずれかになります
スタンダードプランが最も価格が安いのですが、2023年5月の段階で新規受付を停止しているので、ベーシックプランの契約になります
lolipopでSSHを有効にする
レンタルサーバーのlolipopでpythonを実行するためには、SSHと呼ばれる機能をオンにする必要があります
SSHとは、ネットワークに接続された機器を遠隔操作するための方法です
Macであればターミナル、Windowsであればコマンドプロンプトを使用していきます
まずはlolipopにログインをします
その後、「サーバーの管理・設定」欄から「SSH」を選択し、「SSHを有効にする」をクリックします

私はすでに有効にしているため、画像とは異なりますが、有効にすれば同じ画面になります
また、この時に出てくるサーバーやアカウント、接続ポートなどは、この後に必要になりますので、メモしておきましょう

lolipopサーバーにアクセスする
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」をクリックし、ログインします

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

ここに新しいフォルダを作成して、pythonファイルを保存しておきます
フォルダ名・ファイル名はともに英語にしておきます
日本語で保存すると、正常に動作しません
例えば、
- フォルダ名:python
- ファイル名:lolipoppython.py
などです
ファイルをアップロードするには、FTP画面の「アップロード」を選択して、「ファイルを選択する」→「アップロードする」をクリックすればOKです

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

また、pythonファイルの先頭には、「#!/usr/local/bin/python3.7」をつけて保存をします
これでlolipopにpythonファイルのアップロードが終了しました
lolipopの契約がまだの方は、この機会に契約をしておきましょう
cronの設定をする
最後にcronを設定します
lolipopホーム画面から「cron設定」をクリックします

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

その後、実行ファイルパスを入力しますが、~~~/web/以下のパスを入力します
今回の例で言うと、入力するのは、
python/lolipoppython.py
となります
パスを入力したら、「設定」をクリックして、cronの設定は終了です
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を自動化するためには、tweepyと言うライブラリを使用します
公式ドキュメントはこちら-tweepy3.6.0
また、ブログでもtwitterのAPI取得から詳細に解説しているので、公式ドキュメントを読まなくても、pythonを使ってtwitterの自動化を行うことができます
pythonを実行するのにおすすめのレンタルサーバー

今回はプライベートで使用しているサーバーがlolipopだったので、lolipopで解説を行いました
しかし、レンタルサーバーはいくつも種類があり、これからレンタルサーバーに契約をしようと思っている方は悩んでしまうかと思います
エックスサーバー | ロリポップ | ConoHa WING | Heroku | |
---|---|---|---|---|
プラン | スタンダード | ベーシック | ベーシック | Eco・Basic |
料金 | 1,320円/3ヶ月 | 1,320円/3ヶ月 | 1,452円/1ヶ月 | 15ドル/3ヶ月 |
ディスク容量 | 300GB | 400GB | 300GB | 不明 |
Pythonのバージョン | 2.7/ 3.6 | 2.7/3.4 | 2.7 | 全て |
これから、pythonをレンタルサーバー上で定期実行させようと思っているならば、この記事と同じlolipopに契約することをおすすめします
同じレンタルサーバーであれば、設定を楽に行えるからです
もしレンタルサーバーをlolipop以外で考えているのであれば、次のレンタルサーバーがおすすめです
どちらも有名なレンタルサーバーなので、どれを選んでも失敗はありませんが、設定などが一番楽なのはlolipopです
エックスサーバー

エックスサーバーでもpythonを使うことができますが、エックスサーバーには管理者権限がありません
そのため、pipでライブラリなどをインストールすることができないので、ライブラリを使用するようなpythonプログラムは難しいです
難しいと言うのは、できないわけではないけど、いろんな設定をしないとライブラリを使うことができない
と言うことです
もし、エックスサーバーでライブラリを使って、pythonを実行させたい場合には、次の記事が参考になります
エックスサーバーでFlaskアプリケーションを公開する(Miniconda使う)
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のレンタルサーバーでおすすめなのは、ロリポップです
エックスサーバーもいいですが、設定がやや煩雑でエンジニアの方でも苦戦しています
私はXserverを使っておりますが
Xserverはサーバーにroot権限がないのでApacheの設定が必要になり少し難易度があがりますが一度やってしまうと知識はつくのでおすすめはしないですがオススメです、、、。(笑)— Ryusei (@Ryupg12) May 14, 2023
また、ConoHa WINGは使えるPythonのバージョンが2までなので、Pythonをレンタルサーバーで動かすなら、ロリポップがいいです
まとめ

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