PythonをXサーバーで動かす方法
WindowsのローカルPCで動かしていたPythonをサーバーで自動で動かしておきたい。
というのもラップトップ(ノートパソコン)のファンがうるさいので、サーバーで動かそう!と考え、ブログ用に契約しているXサーバーを使ってPythonを動かす方法を紹介します。
1.XサーバーのSSH設定
まずはSSHの設定から。
公式にも記載されている方法に従います。
2.SSHクライアントで接続/Tera Termを使う
SSHを設定後、クライアントソフトのTera Termからアクセスします。
こちらも公式に記載されている方法に従います。
※TCPポートは最初「22」になっていますが、「10022」に変更します
成功すれば、Dosのコマンドプロント(黒いWindow)が出ます。
3.自分のXサーバーにPythonをインストールする
Xサーバーには実はPythonが最初から入っているのですが、
サーバー契約者は管理者権限をもっていないので、
pipで追加したいライブラリが入れられません。
なので上記の自身でスペースを作って、その中にPythonをインストールします。
そうすれば上記の問題は解決します。
コードはJupyter Notebookで書いていたので、同じくAnacondaのLinux版を使います。
こちらで最新版を確認。06/02/2022現在は「Anaconda3-2022.05-Linux-x86_64.sh」が最も新しい様子。
まずダウンロードをします。以下がコードで、
1 |
wget https://repo.anaconda.com/archive/Anaconda3-2022.05-Linux-x86_64.sh |
Tera Termのコマンドプロントへ入力します。コピーの仕方ですが、
×:「Ctrl+V」は効かないので、コマンドプロント上で右クリックか
〇:「Shift+Insert」でやってみてください。
次にAnacondaのインストーラーを起動
1 |
bash Anaconda3-2022.05-Linux-x86_64.sh |
成功すると
「Please, press ENTER to continue」
と聞かれるので、「Enter」。
ライセンスなど聞かれますが、ひたすら「Enter」。
最後に
「Do you accept the license terms? [yes|no]」
と聞かれるので、「yes」と入力し「Enter」
保存場所を聞かれたりと色々ありますが、「Enter」と「yes」で続けます。
4.pipをインストールする
Python/Anacondaが入ったので、次はpipです
1 |
conda install pip |
5.Xサーバー内で書いたコードを動かすフォルダを作る
まずXサーバー内でフォルダを「英数字でスペース無し」作ります。
1 |
mkdir 任意のフォルダ名 |
これでXサーバー内にフォルダが作られました。
試しにファイルサーバーをのぞいてみてください。
上記の任意のフォルダ名(英数字でスペース無し)で作ったフォルダが出来ているはずです。
6.作ったXサーバーのフォルダでPythonを動かす環境を整える
フォルダ作った所にTera term経由で移動します。
1 |
cd 任意のフォルダ名 |
cd はフォルダ移動を。フォルダ名が移動する先を指します。
これで作ったフォルダに移動できたので、次にpipenvを使うのでインストールします。
1 |
pip install pipenv |
これでインストール完了!
1 |
pipenv shell |
専門用語で分かりにくいですが、pipenvは仮想環境も管理してくれるインストーラとでも思ってください。
分からなくてもOK。ひとまずコードを打ちましょう。
すると、Tera termコマンドプロントが、
1 |
(任意のフォルダ名)(base) $ |
とフォルダ名が前に入ったはずです。
では次に書いたコードに入れていたライブラリをインストールしましょう。
私は以下をインストールしました。ライブラリは自身が使う物をインストールしてみてください。
1 2 3 4 5 |
pipenv install requests pipenv install datetime pipenv install schedule pipenv install time pipenv install tweepy |
7.自分で作ったPythonのコードをXサーバーで実行
「5.Xサーバー内で書いたコードを動かすフォルダを作る」でアップロードもできるので、自分で書いたPythonファイル(.py)をアップロードします。
※ファイル名に半角スペースは使わないでください。「_(アンダーバー)」などに変えましょう。
それではTera Termのコマンドプロントで実行させます。
1 |
python3 作ったpythonファイル.py |
これでLINEの自動通知やTwitter BOTなど作り、自動でつぶやいているか?定期実行のコードに変えて、定期的に実行されているか?を確認しましょう。
おしまい
今回のサーバーでの実行方法を応用すれば、
Pythonによるスクレイピングや、株価のLINE自動通知、
ExcelやGoogleスプシにお客さんのLINE IDを記載してのLINE連絡BOTなどもPCを使わず自動実行できるようになります。
人生は有限です。自分でやらないでいいことはロボットにやらせてより多くの情報を省力で入手、発信できれば人より多くを得られる人生になります。
Xサーバーの汎用性も高いのでブログを始めたい方とサーバーでプログラミングを始めたいならピッタリです。
プログラミング未経験で、学生時代も全くダメだった35歳でも、
Pythonを使うのは簡単でした。何より汎用性の高いプログラミング言語です。
ルンバを大量に買う事はお金がかかりますが、Pythonはロボットを自分で無料で作れるようになります。
自分の分身を大量に作れるようなものなので、人生の時間をより多くし、より多くを得られるようになります。
もし始めるならTech CAMPであれば最初の一歩も入りやすいと思います。
よりPythonとAIや機械学習に特化するならAidemyもお勧めです。
参考にさせていただいたBlog
https://gakogako.com/python_xserver/
https://science-log.com/pc%E9%96%A2%E9%80%A3/xserver%E3%81%AE%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%81%ABpython%E3%82%92%E5%B0%8E%E5%85%A5%E3%81%99%E3%82%8B/