【python】sakuraサーバー上でpythonを使ってtwitter投稿するまでの話
前提
- 環境:さくらレンタルサーバースタンダードプラン(設定は全くいじっていない)。
- 目的:ローカルで動くpythonによるtwitter投稿スクリプトを、ssh接続した上記のサーバー上にて実行できるようにする。
以下のページのコードをサーバー上で実行するために色々セットアップが必要で困ったので、備忘録として記事にしました。
手順
シェルを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が存在していなかったので、自分で作成した。
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 -)"
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は人気あるおかげで、すぐ動くコードが簡単に見つかるから嬉しい。
参考サイト
Author And Source
この問題について(【python】sakuraサーバー上でpythonを使ってtwitter投稿するまでの話), 我々は、より多くの情報をここで見つけました https://qiita.com/ninoko1995/items/0fc8ab26178da0fc0ae5著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .