ご挨拶
メニュー

XserverにPythonとpipをMinicondaでインストールして、cronでPythonコードを実行するまで

XserverにPythonとpipをMinicondaでインストールして、cronでPythonコードを実行するまで
最終更新日:2024年3月20日
目次

XserverにPythonとpipをMinicondaでインストール

ググると大容量(2GB)のAnacondaでのインストールが多かったが、

エックスサーバーで簡単にpythonのpipとFlaskの環境を構築する - dattesar

が、容量の小さいminicondaでやっていたのでここを参考にした。

Anaconda公式のrepo.anaconda.com/miniconda/からMiniconda3-py38_4.8.3-Linux-x86_64.shをダウンロードしてルートディレクトリ(/home/hikosato/)にアップロード。作業フォルダ(tmpとか)を作ってその中で作業しなくてもいい。

新しいバージョンじゃなくてこのバージョンにしないとインストール失敗するらしい。

エックスサーバーのGLIBCのバージョンが2.17であることが原因らしい。

ldd --version
ldd (GNU libc) 2.17

shコマンドでアップロードしたファイルを実行してインストール。

sh Miniconda3-py38_4.8.3-Linux-x86_64.sh
source .bashrc

最新のpythonとpipがインストールされた。

(base) [hikosato@sv14864 ~]$ python -V
Python 3.8.3
(base) [hikosato@sv14864 ~]$ python3 -V
Python 3.8.3
(base) [hikosato@sv14864 ~]$ which python
~/miniconda3/bin/python
(base) [hikosato@sv14864 ~]$ which python3
~/miniconda3/bin/python3
(base) [hikosato@sv14864 ~]$ which conda
~/miniconda3/bin/conda
(base) [hikosato@sv14864 ~]$ which pip
~/miniconda3/bin/pip
(base) [hikosato@sv14864 ~]$ pip -V
pip 20.0.2 from /home/hikosato/miniconda3/lib/python3.8/site-packages/pip (python 3.8)
(base) [hikosato@sv14864 ~]$

と同時に、ターミナルのプロンプトの先頭に(base)がつくようにもなった。

baseとは?

Conda は Python のバージョン管理ツールです。機械学習のライブラリ欲張りセットである Anaconda をインストールすると標準でついてきます。 (base) が出ている状態である、ということは Conda が提供する仮想環境に入っている状態です。 特に問題がなければそのままで構いませんが、「Conda 以外のバージョン管理ツール( pipenv, poetry など)を使いたい」、「なんかよくわからないけど不安だから消したい」みたいな時には不便ですよね。

ターミナルに現れる意図せぬ(base)を消そう【Condaの環境から抜ける】 #Python - Qiita

この引用元にbaseを消す手順が書いてあったからやったけど、pipコマンドがいなくなったから戻した。

Minicondaは簡単にPythonのバージョンを変更できるので3.8から3.11.3に変更した。

conda install python=3.11.3

MinicondaのPythonとpipをXserverデフォルトより優先

# MinicondaのPythonとpipを優先
export PATH=/home/hikosato/miniconda3/bin:$PATH

cronでPythonコードを実行する

このコードでうまくいった。XserverデフォルトのPythonで実行されないようにMinicondaでインストールしたPythonのフルパスを指定。

/home/hikosato/miniconda3/bin/python3 /home/hikosato/projects/testcron/crontest.py

このページを共有
カテゴリー
新着記事
PR

オモリ(シンカー)の号数・グラム・オンス換算表

Google検索の裏技的テクニックまとめ

Xserverで特定のbotのアクセスを遮断する

MySQLコマンドのチートシート

ナイロン、フロロは使わない時は紫外線をさけるために暗所に保管したほうがいい

ジグ単やフロートリグのシンキングでは、完全に浮いてしまうタイプのPEラインより、少し沈むPEラインの方が感度が上がります。

シマノのピットブルG5は比重がナイロンとフロロの中間の1.3なので、ナイロンよりも根掛かりしずらく、底がとりやすいので愛用しています。