Applies to: SQL Server 2017 (14.x) only
この記事では、標準の Python ツールを使用して、新しい Python パッケージを SQL Server Machine Learning Services のインスタンスにインストールする方法について説明します。 一般に、新しいパッケージをインストールするプロセスは、標準の Python 環境のプロセスと似ています。 ただし、サーバーからインターネットに接続できない場合は、いくつかの追加の手順が必要です。
パッケージの場所とインストール パスの詳細については、「Get Python package information」(Python パッケージ情報の取得) を参照してください。
Prerequisites
- Python 言語オプションと共に SQL Server Machine Learning Services がインストールされている必要があります。
Other considerations
パッケージは Python 3.5 に準拠し、Windows で実行する必要があります。
Python パッケージ ライブラリは SQL Server インスタンスの Program Files フォルダー内にあります。既定では、このフォルダーにインストールするには管理者権限が必要です。 詳細については、パッケージ ライブラリの場所に関するページを参照してください。
パッケージのインストールはインスタンス単位です。 Machine Learning Services のインスタンスが複数ある場合は、各インスタンスにパッケージを追加する必要があります。
多くの場合、データベース サーバーはロック ダウンされています。 多くの場合、インターネット アクセスは完全にブロックされています。 依存関係が多数あるパッケージの場合、それらの依存関係を事前に特定し、各依存関係を手動でインストールする準備ができている必要があります。
パッケージを追加する前に、パッケージが SQL Server 環境に適しているかどうかを検討してください。
データベースをクエリするだけのタスクではなく、データベース エンジンとの緊密な統合からメリットが得られるタスク (機械学習など) には、データベース内の Python を使用することをお勧めします。
サーバーに対して計算の負荷が大きくなるパッケージを追加すると、パフォーマンスが低下します。
強化された SQL Server 環境では、次のパッケージを避けることをお勧めします。
- ネットワーク アクセスを必要とするパッケージ
- 管理者特権でのファイル システム アクセスが必要なパッケージ
- Web 開発、または SQL Server 内で実行しても効果のないタスクに使用されるパッケージ
SQL Server への Python パッケージのインストール
スクリプトで使用できる新しい Python パッケージを SQL Server にインストールするには、Machine Learning Services のインスタンスにパッケージをインストールします。 Machine Learning Services のインスタンスが複数ある場合は、各インスタンスにパッケージを追加する必要があります。
The package installed in the following examples is CNTK, a framework for deep learning from Microsoft that supports customization, training, and sharing of different types of neural networks.
オフライン インストールの場合は、Python パッケージをダウンロードします
インターネットにアクセスできないサーバーに Python パッケージをインストールする場合は、インターネットにアクセスできるコンピューターから WHL ファイルをダウンロードしてから、そのファイルをサーバーにコピーする必要があります。
たとえば、インターネットに接続されたコンピューターには、CNTK の .whl
ファイルをダウンロードし、そのファイルを SQL Server コンピューターのローカル フォルダーにコピーできます。 使用できる CNTK の .whl
ファイルの一覧については、Wheel ファイルからの CNTK のインストールに関する記事を参照してください。
Important
必ず Windows バージョンのパッケージを入手します。 ファイルの末尾が .gz の場合は、正しいバージョンではない可能性があります。
複数のプラットフォーム用の CNTK フレームワークと複数のバージョンの Python のダウンロードの詳細については、「マシン上で CNTK をセットアップする」を参照してください。
Python ライブラリを見つける
SQL Server によって使用される既定の Python ライブラリの場所を見つけます。 複数のインスタンスをインストールした場合は、パッケージを追加するインスタンスの PYTHON_SERVICES
フォルダーを見つけます。
たとえば、既定値を使用して Machine Learning Services をインストールし、既定のインスタンスで機械学習を有効にした場合のパスは次のとおりです。
cd "C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\PYTHON_SERVICES"
Tip
今後のデバッグとテストのために、インスタンス ライブラリに固有の Python 環境を設定することができます。
pip を使用してパッケージをインストールする
Use the pip installer to install new packages. PYTHON_SERVICES
フォルダーの Scripts
サブフォルダーに pip.exe
があります。 SQL Server のセットアップでは、システム パスに Scripts
サブフォルダーは追加されないため、完全なパスを指定するか、Windows で PATH 変数に Scripts フォルダーを追加できます。
Note
If you're using Visual Studio 2017, or Visual Studio 2015 with the Python extensions, you can run pip install
from the Python Environments window. Click Packages, and in the text box, provide the name or ___location of the package to install. 「pip install
」と入力する必要はありません。自動的に入力されます。
コンピューターからインターネットにアクセスできる場合は、パッケージの名前を指定します。
scripts\pip.exe install cntk
また、次の例のように、特定のパッケージとバージョンの URL を指定することもできます。
scripts\pip.exe install https://cntk.ai/PythonWheel/CPU-Only/cntk-2.1-cp35-cp35m-win_amd64.whl
コンピューターからインターネットにアクセスできない場合は、上記の手順でダウンロードした WHL ファイルを指定します。 For example:
scripts\pip.exe install C:\Downloads\cntk-2.1-cp35-cp35m-win_amd64.whl
インストールを完了するためにアクセス許可を昇格するように求めるメッセージが表示される場合があります。 インストール手順を進めると、コマンド プロンプト ウィンドウに状態メッセージが表示されます。
スクリプトの一部としてパッケージまたはその関数を読み込む
インストールが完了すると、すぐに SQL Server の Python スクリプトでパッケージを使い始められます。
スクリプトでパッケージの関数を使用するには、スクリプトの最初の行に標準の import <package_name>
ステートメントを挿入します。
EXECUTE sp_execute_external_script
@language = N'Python',
@script = N'
import cntk
# Python statements ...
'