dVudI6ymyy2jeA_msGyu0md6uI6cA6voV90UfMU-8yw
スポンサーリンク

【2026/02】さくらインターネットでPython(pip・pandas)を導入したときのハマりポイントまとめ

python
スポンサーリンク
moomoo証券【WEB】

概要

さくらインターネットで自動実行するpythonプログラムをcronで動かそうとしたところ、

モジュールがインポートされてない!という問題が起こりました。

いろいろ試行錯誤してモジュールのインポートが出来たのでメモとして残します。

環境

さくらインターネットの環境は以下です

  • さくらインターネット 共用サーバー
  • FreeBSD
  • Python 3.8.12

さくらインターネットのモジュール状況(2026/2)

レンタルサーバーにログインして

サーバー情報→Python情報でモジュールを見てみる

はい、見事にpipもnumpyもpandasも無いですね。まじですか。

pipが無いのでモジュールの追加ができません。

①pipのインポート

1.コマンドプロンプトを開いて、SSHでサーバーにアクセス

@の前はFTPアカウント、@の後ろはFTPサーバーを入力

※FTPアカウント、FTPサーバーは サーバー情報→FTP設定情報 で確認

ssh *****@*****.sakura.ne.jp

ログインパスワードを聞かれるので、入力(文字は非表示なので打ち間違いに注意)

以下が出力されたら成功です。

Welcome to FreeBSD!

2.pipインストール

以下のコードを実施(さくらインターネットはpython3.8なのでバージョンを指定)

curl https://bootstrap.pypa.io/pip/3.8/get-pip.py -o get-pip.py
python get-pip.py --user

3.PATHを通す

echo 'setenv PATH $HOME/.local/bin:$PATH' >> ~/.cshrc
source ~/.cshrc

4.確認

以下のコマンドを実行して、バージョンが出力されたら成功です

pip --version

②pandasのインポート

■失敗原因

さくら共用サーバーでは /var/tmpnoexec でマウントされている。pipが一時ファイルを作成できない。

■解決方法


自分のホームディレクトリにtmpを作り、環境変数を指定してインストール:

1.作業ディレクトリの作成

mkdir -p ~/tmp

2.環境変数 TMPDIR を指定して実行

setenv TMPDIR $HOME/tmp
python -m pip install --user pandas

うまくいくとこうなります。

③cron実行で「ModuleNotFoundError」が出る

■エラー内容

ModuleNotFoundError: No module named 'pandas'

■失敗原因

  • cronはログイン時の環境変数を読み込まない。
  • .local が PYTHONPATH に入っていない。

■解決方法

cronコマンドをこう変更:

PYTHONPATH=$HOME/.local/lib/python3.8/site-packages \
/usr/local/bin/python3 /home/*****/www/*****.py \
>> /home/*****/www/screening.log 2>&1

まとめ

いいですね、締めは大事ですからね。
少し読み物っぽく、でも技術ブログとしてちゃんと締まる感じで書いてみます。


まとめ

今回、さくらインターネットの共用サーバー上で Python を動かし、pandas を使ったスクリーニング処理を cron で自動実行しようとしました。

一見すると「pipが動かない」「pandasが入らない」「cronでimportできない」といった個別のエラーに見えますが、実際には次のような“環境特有の制約”が背景にありました。

  • --user インストールによる PATH 未設定問題
  • /var/tmpnoexec のため pip が失敗
  • cron 実行時に環境変数が引き継がれない

つまり、コードそのものよりも「実行環境との相性」が最大のハードルでした。

特に印象的だったのは、
エラーの原因がPythonではなく“サーバーの仕様やIP制限”だったことです。

今回の経験から得た大きな学びは、

アプリケーションの問題と、インフラの問題を切り分けて考えることの重要性

でした。

技術的なトラブルは遠回りに見えても、
一つずつ原因を分解していけば必ず整理できます。

同じように「動くはずなのに動かない」と悩んでいる方の参考になれば幸いです。

スポンサーリンク
ブログランキングに参加しています。
クリックいただけると更新の励みになります。
よろしければポチっとお願いします。

にほんブログ村 株ブログ 株主優待へ
python
シェアする
tickyをフォローする

コメント

タイトルとURLをコピーしました