【python】sakuraサーバー上でpythonを使ってtwitter投稿するまでの話


前提

  • 環境:さくらレンタルサーバースタンダードプラン(設定は全くいじっていない)。
  • 目的:ローカルで動くpythonによるtwitter投稿スクリプトを、ssh接続した上記のサーバー上にて実行できるようにする。

以下のページのコードをサーバー上で実行するために色々セットアップが必要で困ったので、備忘録として記事にしました。

PythonでTwitter API を利用していろいろ遊んでみる

手順

シェルをbashに変更

さくらレンタルサーバーのデフォルトではシェルはcshになっていルため、ログインシェルをbashに変更し、再ログイン。

$ chsh -s /usr/local/bin/bash

慣れたシェルじゃないと戸惑うからね。

pythonのバージョンを3系にアップデート(初期設定では2.7だったので3.7へ)

pyenvのインストール

$ git clone https://github.com/yyuu/pyenv.git ~/.pyenv

pyenv-virtualenv インストール

$ git clone https://github.com/yyuu/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

パスの設定

  • ~/.bashrc に下記内容を追記。 自分の場合はシェルを変えたのに.bashrcと.bash_profileが存在していなかったので、自分で作成した。
.bashrc
if [ -f /etc/bashrc ]; then
    . /etc/bashrc
fi

export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
export TMPDIR="$HOME/tmp"
export PYTHON_PATH=./
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
.bash_profile
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
  • .bashrcの読み込み

$ source ~/.bashrc

pyenv で欲しいバージョンをインストール・設定

ふつーにpyenvを使う。

  • install可能なバージョンの確認

$ pyenv install --list

  • 任意のバージョンをインストール。今回は3.7.0にした。

$ pyenv install 3.7.0

この時、こんな感じの画面になって画面の更新が止まるし、ファイルへのアクセス権限がないみたいなメッセージ出てるし、エラーかなって思うけど、待ってればちゃんとインストールされるから中断しないように!

"Installed Python-3.6.4 to /home/miyablo/.pyenv/versions/3.6.4"
ちゃんとこのディレクトリにインストールされた。

ちなみに写真は違うバージョンインストールしたときのやつだからバージョン名が違う。。。笑

  • デフォルトで使うバージョンに設定。

$ pyenv global 3.7.0

  • 確認!

$ python -V -> Python 3.7.0 (default, Oct 31 2019, 02:04:42)

これでおけ。

pipのインストール

  • pip実行ファイルのダウンロード

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

  • ダウンロードしたスクリプトの実行

$ python get-pip.py

  • installの確認

$ pip -V

これできちんと表示された。大丈夫だ。

  • 実行スクリプトの削除

$ rm get-pip.py

pythonスクリプトの実行準備から

ここから先は、以下のページに従えば、うまくいく。

PythonでTwitter API を利用していろいろ遊んでみる

投稿完了。

pythonは人気あるおかげで、すぐ動くコードが簡単に見つかるから嬉しい。

参考サイト

pyenvのインストールから設定まで
pipのインストール方法に関して
pythonを使ったtwitter投稿に関して