手元のMacのPython環境を、外部ネットワークに接続されていないスパコン「Heian」で安全かつ確実に再現するための完全手順書です。
Macのターミナルを開き、スパコンの環境(Linux 64bit、Python 3.12)に対応するバイナリ(.whl)を指定してダウンロードします。
# 例として contourpy をダウンロードする場合(複数ある場合はスペース区切りで並べてOK)
pip download contourpy \
--platform manylinux2014_x86_64 \
--only-binary=:all: \
--python-version 312 \
--dest ./pkgs
pkgs フォルダを scp コマンドやFTPソフトを使い、Heianの個人領域 $SCHOME(/sc/home/ユーザ名)へ転送してください。
Heianにログインし、ベースとなるクローン環境を作成します。
module load intelpython
conda init bash
source ~/.bashrc
root 環境をベースに「myenv」を作成
conda create --offline --clone root -n myenv
作成した環境を有効化し、システム領域(権限エラーが出る場所)を避けて、仮想環境のフォルダへ直接インストールします。
conda activate myenv
pkgs フォルダがある場所に移動(例:ホームディレクトリ)
cd /sc/home/あなたのユーザ名/
--target オプションで仮想環境を直接狙い撃ちしてインストール
pip install --no-index --find-links=./pkgs --target=$HOME/.conda/envs/myenv/lib/python3.12/site-packages contourpy
[Errno 13] 許可がありません を完全に回避しつつ、特定の仮想環境内だけに綺麗にパッケージを収めることができます。
最後に、パッケージ同士の依存関係に矛盾(コンフリクト)が生じていないか、Condaシステムを使ってチェックします。
conda update --all --dry-run
--dry-run をつけているため、実際には何もアップデートや変更は行われません。安全にシミュレーションだけを行います。PackagesNotFoundError や致命的な Conflict の大量エラーが出なければ、環境の健全性は保たれています。pip's dependency resolver... の警告が出ていても、このドライランでエラーで止まらなければ、実用上問題ないケースがほとんどです。)