Data Science Workshop (DSW) インスタンスでは、ターミナルからサードパーティの Python ライブラリをインストール、表示、アンインストール、更新できます。DSW は変更を自動的にイメージ環境に保存します。
サードパーティライブラリのインストール
DSW には、Python 2、Python 3、PyTorch、TensorFlow 2.0 などの開発環境が含まれています。デフォルトでは、パッケージは Python 3 環境にインストールされます。別の環境にパッケージをインストールするには、まずその環境に切り替えます。次のコマンド形式を使用します。
# Python 3 環境にインストールします。
pip install <yourLibraryName>
# Python 2 環境にインストールします。
source activate python2
pip install <yourLibraryName>
# TensorFlow 2.0 環境にインストールします。
source activate tf2
pip install <yourLibraryName>
<yourLibraryName> をインストールするライブラリの名前に置き換えます。 たとえば、bottle ライブラリをインストールする場合は、pip install bottle を実行します。
Jupyter Notebook のセルからインストールコマンドを実行する場合は、コマンドの前に感嘆符 ! を付けます。例: !pip install bottle。
パッケージが正常にインストールされたにもかかわらず、ノートブックでインポートできない場合は、カーネルをリロードしてください。
TensorFlow や PyTorch などの大規模なフレームワークをインストールする場合、pip がホイールパッケージを展開するプロセスで大量のメモリが消費されます。インストールプロセスがシステムによって Killed された場合、これは通常、インスタンスのメモリが不足していることを示します。手動インストールの失敗を避けるために、DSW インスタンスを 30 GiB 以上のメモリを持つインスタンスタイプに切り替えるか、インスタンスの作成時にターゲットフレームワークがプリインストールされた PAI 公式イメージを選択することを推奨します。
インストール済みサードパーティライブラリの表示
次のコマンドを実行して、インストールされているサードパーティライブラリを一覧表示します。
pip list
サードパーティライブラリのアンインストール
次のコマンドを実行して、インストール済みのサードパーティライブラリをアンインストールします。
pip uninstall <yourLibraryName>
<yourLibraryName> をアンインストールするライブラリの名前に置き換えます。
アンインストールできるのは、自身でインストールしたライブラリのみです。
サードパーティライブラリの更新
次のコマンドを実行して、インストール済みのサードパーティライブラリを最新バージョンに更新するか、特定のバージョンにアップグレード/ダウングレードします。
# 最新バージョンに更新
pip install --upgrade <yourLibraryName>
# 特定のバージョンに更新
pip install --upgrade <yourLibraryName>==<versionNumber>
<versionNumber> を numpy のターゲットバージョンに置き換えます。
pip インデックス URL の表示または変更
次のコマンドを実行して、pip の設定を表示します。
pip config list
出力で、global.index-url パラメーターの値がグローバル pip インデックス URL です。出力例:
global.index-url='https://mirrors.aliyun.com/pypi/simple/'
global.trusted-host='mirrors.aliyun.com'
install.trusted-host='mirrors.aliyun.com'
1 回のインストールコマンドに対して一時的に pip インデックス URL を設定するには、-i オプションを使用します。
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <yourLibraryName>
# SSL 検証エラーが発生した場合は、--trusted-host パラメーターを追加します:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn <yourLibraryName>
グローバル pip インデックス URL を変更するには、pip 設定ファイルを編集します。デフォルトパスは ~/.config/pip/pip.conf です。次のコマンドを実行してファイルを編集します。
vim ~/.config/pip/pip.conf
次の例では、清華大学の PyPI ミラーを使用します。index-url と trusted-host パラメーターを更新し、保存して終了します。更新された pip.conf ファイル:
[global]
trusted-host=pypi.tuna.tsinghua.edu.cn
index-url = https://pypi.tuna.tsinghua.edu.cn/simple/
[install]
trusted-host=pypi.tuna.tsinghua.edu.cn
よくある質問
DSW インスタンスを停止した後、pip でインストールしたパッケージとコードは保持されますか?
はい、インスタンスがシステムディスクとしてクラウドディスクを使用している場合は保持されます。/mnt/workspace と /root 配下にある環境を含む、インスタンスのディスクデータは保持されます。インスタンスを再度起動すると、すべての環境とファイルが利用可能な状態に戻ります。データは、インスタンスが削除された場合にのみ完全に消去されます。
インストールしたパッケージが動作しないのはなぜですか?
pip でパッケージをインストールした後に import でインポートできない場合は、まずサービスまたはカーネルを再起動してください。エラーが解決しない場合は、現在の環境を確認してください。DSW では、パッケージをインストールすると、デフォルトで Python 3 環境にインストールされます。パッケージを別の環境にインストールするには、まずその環境に切り替えてください。例:
# Python 2 環境にインストールします。
source activate python2
pip install <yourPackageName>
# TensorFlow 2.0 環境にインストールします。
source activate tf2
pip install <yourPackageName>
<yourPackageName> を、インストールするパッケージの名前に置き換えてください。
DSW で pip install が依存関係の競合またはバージョンエラーで失敗する場合はどうすればよいですか?
このようなエラーは、通常、環境の非互換性が原因です。次の順序でトラブルシューティングを行ってください。
推奨される解決策:イメージを変更します。現在のインスタンスを停止し、新しい DSW インスタンスを作成して、別の公式イメージを選択します。たとえば、現在の PyTorch 2.1 イメージが動作しない場合は、PyTorch 2.3 イメージまたは
modelscopeシリーズのイメージを試してください。これらは一般的に互換性が向上しています。特定のバージョンをインストールします。パッケージのドキュメントで、DSW 環境の Python と CUDA のバージョンをサポートするバージョンを確認し、
pip install package_name==x.y.zを実行します。別の PyPI ミラーを使用します。清華大学ミラーなど、中国でホストされている PyPI ミラーを試してください:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple <yourLibraryName>。
DSW ターミナルでインストールしたライブラリが、Jupyter Notebook で import できません。どうすればよいですか。
これは通常、ターミナルと Jupyter が異なる Python 環境を使用していることが原因です。which python を実行して現在の Python 環境を確認するか、ノートブックのセルから必要なライブラリをインストールしてください。例:
!which python
/usr/local/bin/python
!pip install bottle
Looking in indexes: https://mirrors.aliyun.com/pypi/simple/
Collecting bottle
Downloading https://mirrors.aliyun.com/pypi/packages/83/f6/b55...
103.8/103.8 kB 6.7 ...
Installing collected packages: bottle
Successfully installed bottle-0.13.4
WARNING: Running pip as the 'root' user can result in broken per...
[notice] A new release of pip is available: 23.3.2 -> 25.1.1
[notice] To update
コードから CUDA ドライバーのバージョンが低すぎると報告されます。DSW で NVIDIA ドライバーを手動でアップグレードする必要がありますか?
ドライバーはアップグレードしないでください。DSW インスタンス上のドライバーと CUDA スタックはプリインストールされ、ロックされています。手動での変更は許可されておらず、インスタンスを破損させ、回復不能になる可能性があるため推奨されません。正しいアプローチは、DSW イメージを変更することです。現在のインスタンスを停止し、新しいインスタンスを作成して、より新しいバージョンの CUDA とドライバーが同梱された公式イメージを選択します。
たとえば、公式イメージ modelscope:1.9.4-pytorch2.0.1tensorflow2.13.0-gpu-py38-cu118-ubuntu20.04 には、CUDA 11.8 (cu118 タグ) が含まれています。
DSW の VS Code で拡張機能をインストールする際に ETIMEDOUT エラーが報告されます。これを修正するにはどうすればよいですか?
VS Code 拡張機能のインストールには、中国本土外でホストされている VS Code Marketplace (marketplace.visualstudio.com) へのアクセスが必要です。DSW インスタンスがパブリックゲートウェイ (共有帯域幅) を使用している場合、中国本土外のリソースへのアクセスが非常に遅くなったり、タイムアウトしたりすることがあります。
解決策:
ネットワーク接続を確認します。ターミナルで
curl -I https://marketplace.visualstudio.comを実行し、リクエストが正常に返されるかどうかを確認します。中国本土外のリソースへのアクセスがタイムアウトする場合は、「DSW のパブリックネットワークダウンロード速度の向上」をご参照のうえ、インスタンスが存在する Virtual Private Cloud (VPC) にパブリック NAT ゲートウェイと Elastic IP (EIP) を設定し、専用ゲートウェイを使用してください。
専用ゲートウェイを設定した後も中国本土外のリソースにアクセスできない場合は、「DSW から中国本土外のリソースへのアクセスを高速化する」を参照して Global Accelerator (GA) を有効にしてください。
DSW で Docker を使用してアプリケーションをデプロイできますか?
ネストされたコンテナー (サブコンテナー) は、Lingjun リソースグループまたはバージョン 1.0 の汎用リソースグループによって作成された DSW インスタンスでのみサポートされています。詳細については、「サブコンテナー管理 (DockerBoard)」および「DSW で Docker を使用する」をご参照ください。
DSW インスタンスに unzip または 7z コマンドがない場合、ファイルを解凍するにはどうすればよいですか?
apt-get を使用してインストールできます。
unzipのインストール:ターミナルでapt-get update && apt-get install -y unzipを実行し、unzip your_file.zipを使用します。p7zip(7z 用) のインストール:ターミナルでapt-get update && apt-get install -y p7zip-fullを実行し、7z x your_file.7zを使用します。
パッケージのインストールがハングしたり、タイムアウトしたりします。どうすればよいですか?
パッケージのインストールがハングしたり、タイムアウトしたり、極端に遅くなったりする場合、通常はネットワークの問題が原因です。次の順序でトラブルシューティングを行ってください。
ステップ 1:ネットワーク接続の確認
ターミナルで ping www.aliyun.com を実行し、インスタンスがインターネットに到達できるか確認します。ネットワークに到達できない場合は、ステップ 2 に進み、ゲートウェイの設定を確認します。
ステップ 2:ゲートウェイ設定の確認
インスタンス設定ページで、[インターネットゲートウェイ]のタイプを確認します。
パブリックゲートウェイ:デフォルトでは、DSW は[パブリックゲートウェイ]を使用してインターネットにアクセスします。ゲートウェイのタイプは DSW インスタンスの設定ページで確認できます。パブリックゲートウェイを使用する場合、帯域幅が制限され、大きなファイルのダウンロード速度が不十分な場合があります。この場合は、専用ゲートウェイを選択してください。
専用ゲートウェイ:専用ゲートウェイは、より高速なネットワーク速度を提供します。専用ゲートウェイを選択した後は、VPC にパブリック NAT ゲートウェイを作成し、EIP をバインドして、SNAT ルールを設定する必要があります。そうしないと、インターネットアクセスは利用できません。詳細については、「専用ゲートウェイによるインターネットアクセスの改善」をご参照ください。
ステップ 3:別の pip インデックス URL を試す
DSW はデフォルトで Alibaba Cloud PyPI ミラーを使用しますが、ピーク時やネットワークの変動中に問題が発生することがあります。中国でホストされている別の PyPI ミラーに切り替えてみてください。
# 清華大学 PyPI ミラーを使用してインストール (推奨)
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple --trusted-host pypi.tuna.tsinghua.edu.cn <yourLibraryName>
# USTC PyPI ミラーを使用してインストール
pip install -i https://pypi.mirrors.ustc.edu.cn/simple --trusted-host pypi.mirrors.ustc.edu.cn <yourLibraryName>
# Douban PyPI ミラーを使用してインストール
pip install -i https://pypi.doubanio.com/simple --trusted-host pypi.doubanio.com <yourLibraryName>
デフォルトの pip インデックス URL を恒久的に変更することもできます。詳細については、「pip インデックス URL の表示または変更」をご参照ください。
ステップ 4:オフラインインストールを使用する
ネットワークに到達できない、または非常に不安定な場合は、パッケージをオフラインでインストールします。
-
ローカルコンピューター (ネットワーク接続が良好な) で、
.whlパッケージをダウンロードします。# ローカルコンピューターで実行 pip download <yourLibraryName> -d ./packages ダウンロードした
.whlファイルを DSW インスタンスにアップロードします。詳細については、「ファイルのアップロードとダウンロード」をご参照ください。-
DSW でパッケージをオフラインでインストールします。
pip install /path/to/your-package.whl
aiext-pypi ミラー (例:aiext-pypi.mirrors.aliyuncs.com) へのアクセスに失敗します。どうすればよいですか?
aiext-pypi.mirrors.aliyuncs.com は、PAI-PPU イメージ専用に設定された内部 pip ミラーです。PAI-PPU シリーズのイメージを使用する DSW インスタンスからのみアクセスできます。DSW インスタンスが別のイメージ (PyTorch や TensorFlow の公式イメージなど) を使用している場合、このミラーには到達できません。これは想定内の動作であり、ネットワーク障害ではありません。
解決策:
このミラーを使用するには、PAI-PPU シリーズのイメージを使用して新しいインスタンスを作成してください。
PAI-PPU イメージが不要な場合は、中国でホストされている別のパブリック pip ミラー (Alibaba Cloud PyPI ミラーや清華大学 PyPI ミラーなど) に切り替えてください。詳細については、「pip インデックス URL の表示または変更」をご参照ください。
DSW のブラウザーベースの IDE で root 権限を取得するにはどうすればよいですか?
ほとんどの公式 DSW イメージは、デフォルトで root ユーザーとして実行されます。ターミナルのプロンプトが root@ で始まる場合、すでに root です。「running pip as the root user is not recommended」という警告は無視してかまいません。イメージが root としてログインしない場合、その動作はイメージ自体によって決定されます。root ログインをサポートするイメージに切り替えてください。
DSW で X サーバーを起動するにはどうすればよいですか?
DSW は X サーバーをサポートしていません。
DSW で Vulkan を使用してグラフィックスレンダリングを行うことはできますか?
いいえ。DSW はコンテナー化された環境で実行されます。GPU ドライバーは公式イメージによってプリインストールされ、ロックされています。nvidia-drm カーネルモジュールをロードしたり、NVIDIA プロプライエタリドライバーに切り替えたりすることはできません。このプラットフォームの制限により、Vulkan ICD を初期化できません。この問題は、環境変数を変更したり、イメージを変更したりしても解決できません。SAPIEN のように Vulkan に依存するグラフィックス集約型のアプリケーションを実行するには、ECS GPU インスタンスを使用するか、PAI-EAS カスタムイメージでデプロイしてください。
Miniconda のインストールと使用
Miniconda を使用して Python ランタイム環境とサードパーティパッケージを管理するには、次の手順に従ってインストールします。
-
ターミナルを開き、次のコマンドを実行して Miniconda をダウンロードしてインストールします。
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh -b -p /root/miniconda3 /root/miniconda3/bin/conda init -
DSW インスタンスを停止し、再起動します。再起動後、conda Python 環境を使用できます。次のコマンドを実行して、現在の Python 環境を確認します。
# ターミナルで実行 which python # ノートブックのセルで実行 !which python -
ターミナルで conda Python 環境がまだ利用できない場合は、次のように
.bashrcファイルの PATH を更新します。ターミナルで
cd /root/を実行して、.bashrcファイルが含まれるディレクトリに移動します。-
vim を使用して
.bashrcファイルを編集します。ファイルの先頭にexport PATH="/root/miniconda3/bin:$PATH"を追加し、保存して終了します。
ターミナルで
source .bashrcを実行して、変更を適用します。which pythonを再度実行して、現在の Python 環境を確認します。