StartExternalSession

外部評価器のリスト »

StartExternalSession["sys"]

外部評価器 sys を使って外部セッションを開始し,外部セッションオブジェクトを返す.

StartExternalSession[assoc]

assoc で指定された外部評価器を開始する.

StartExternalSession[{"sys",opts}]

外部評価器にオプション opts を使う.

StartExternalSession[systype]

外部評価器からの出力を指定のタイプに変換するように指定する.

StartExternalSession[DatabaseReference[ref]]

ref で指定されたデータベースを使ってデータベースセッションを開始する.

詳細

  • StartExternalSessionは,外部評価器セッションの実装に使うことができる外部プロセスを開始する.このセッションには,ExternalEvaluateにリクエストされた複数の評価が含まれる.
  • StartExternalSession[assoc]の連想の要素には以下が含まれる.
  • "System"開始する外部システムまたは言語
    "Evaluator"コードの評価に使う評価器
    "Name"評価器の登録名
    "ID"一意的な識別子
    "ReturnType"返すオブジェクトのタイプ("String""Expression"等)
    "Prolog"このセッションでコマンドが評価される前に実行するコード
    "Epilog"このセッションでコマンドが評価された後に実行するコード
    "SessionProlog"セッションの前に実行するコード
    "SessionEpilog"セッションの後で実行するコード
  • 必要な唯一のキーは"System"である.これ以外のキーはすべて任意である.
  • 以下は,StartExternalSession[sys]sys の可能な選択肢である.
  • "Python"Python
    "NodeJS"Node.jsを介して実行されるJavaScript
    "Julia"Julia
    "Ruby"Ruby
    "R"R
    "Shell"Bash, Sh, Zsh, ...
    "Jupyter"Jupyterカーネル
    "SQL"SQLデータベース
    "SQL-JDBC"JDBCを使ったSQLデータベース
  • StartExternalSession[sys"type",]における,あるいは"ReturnType"についての"type"の可能な設定は評価システムに依存するが,代表的なものには以下がある.
  • "Expression"Wolfram言語式に変換しようとする
    "String"外部評価器による生の文字列出力を与える
  • StartExternalSession[{sys,"Evaluator"evaluator},]evaluator の設定は sys に依存する.以下は可能な設定である.
  • "path"言語実行可能ファイルへのパス
    DatabaseReference[]SQLデータベース接続
    SQLConnection[]SQL-JDBCデータベース接続
  • 一般に,StartExternalSessionは設定"ReturnType""Expression"を使う.
  • StartExternalSession[{"sys",opts}]StartExternalSession[<|"System""sys",opts|>]に等しい.
  • StartExternalSession[{sys,"ID""id",}]は,指定された"id"を持つすでに実行中のセッションを返すか,一意的な"id"を持つ新たなセッションを開始するかする.
  • FindExternalEvaluatorsは,使用可能な評価器システムのデータ集合を与える.
  • ExternalSessionsは,アクティブな外部セッションのリストを与える.
  • DeleteObject[ExternalSessionObject[]]StartExternalSessionが開始した外部セッションを強制終了して削除する.

例題

すべて開くすべて閉じる

  (3)

Pythonセッションを開始し,使用可能な任意のインストレーションを自動的に検知する:

セッション内でコードを実行する:

DeleteObjectでセッションを終了する:

Pythonバージョン3を使ってセッションを開始する:

バージョンを確認する:

セッションを終了する:

プロビジョニング済みの環境で新たなPythonのセッションを開始する:

スコープ  (16)

基本的な用法  (2)

複数の外部セッションを同時実行することができる:

セッションオブジェクトを削除する:

/usr/bin/python3の実行ファイルを使って外部Pythonセッションを開始する:

ExternalEvaluateへの複数の呼出しにこのセッションを使う:

DeleteObjectでセッションを終了する:

セッションオプション  (14)

"ReturnType"  (4)

ほとんどのシステムのデフォルトの戻り型は"Expression"である:

セッションオブジェクトを削除する:

"Expression"の戻り型については,数,文字列,リスト,連想は自動的にインポートされる:

セッションオブジェクトを削除する:

"String"の戻り型は結果の文字列を外部言語で返す:

セッションオブジェクトを削除する:

データベースを使用する際のデフォルトの戻り型は"Dataset"である:

"ReturnType"を使ってデータを別の形式で返すことができる:

セッションオブジェクトを削除する:

"Evaluator"  (3)

指定の"Evaluator"でコードを評価する:

セッションオブジェクトを削除する:

Associationを使ってPythonプロビジョニングされた環境が開始できる:

このセッションを使ってコードを評価する:

セッションオブジェクトを削除する:

"SQL"評価器でFileを使う際のターゲットはSQLiteファイルのパスかDatabaseReference指定でよい:

セッションオブジェクトを削除する:

"Name"  (1)

名前を使って評価器を登録する:

登録された評価器をその名前で参照することで使ってセッションを開始する:

セッションを使う:

セッションを削除する:

"ID"  (1)

指定された"ID"の評価器を開始する:

この操作は冪等で,同じ"ID"のセッションを開始すると実行中の同じセッションが返される:

StartExternalSessionを2回実行しても実行中のセッションは1つであることが確かめられる:

セッションを閉じる:

"SessionProlog"  (2)

"SessionProlog"を使ってセッションの開始時に副作用を実行する:

セッションオブジェクトを削除する:

外部セッションを開始し,セッションの開始時にライブラリをインポートする:

インポートしたライブラリからの関数を評価する:

セッションオブジェクトを削除する:

"SessionEpilog"  (1)

"SessionEpilog"を使ってセッションの終了時に副作用を実行する:

セッションオブジェクトを削除する:

"Prolog"  (1)

"Prolog"を使って各評価の前に副作用を実行する:

セッションオブジェクトを削除する:

"Epilog"  (1)

"Epilog"を使って各評価の後で副作用を実行する:

セッションオブジェクトを削除する:

特性と関係  (4)

各セッションは独自のプロセスで実行される:

各セッションのプロセスIDは異なる:

セッションオブジェクトを削除する:

言語しか指定されていない場合は,FindExternalEvaluatorsによって返された最初の評価器が使われる:

セッションを終了する:

データベースセッションを開始する:

クエリを実行する:

セッションを手動で閉じる:

外部言語セルは暗黙のうちにStartExternalSessionを呼び出す:

x=2

新たなセッションが開始された:

デフォルトで,与えられたシステムのすべてのセルがそのセッションを使う:

x*x

続く評価で新たなセッションが開始されるように,セッションを終了する:

Wolfram Research (2017), StartExternalSession, Wolfram言語関数, https://reference.wolfram.com/language/ref/StartExternalSession.html (2024年に更新).

テキスト

Wolfram Research (2017), StartExternalSession, Wolfram言語関数, https://reference.wolfram.com/language/ref/StartExternalSession.html (2024年に更新).

CMS

Wolfram Language. 2017. "StartExternalSession." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2024. https://reference.wolfram.com/language/ref/StartExternalSession.html.

APA

Wolfram Language. (2017). StartExternalSession. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StartExternalSession.html

BibTeX

@misc{reference.wolfram_2024_startexternalsession, author="Wolfram Research", title="{StartExternalSession}", year="2024", howpublished="\url{https://reference.wolfram.com/language/ref/StartExternalSession.html}", note=[Accessed: 21-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_startexternalsession, organization={Wolfram Research}, title={StartExternalSession}, year={2024}, url={https://reference.wolfram.com/language/ref/StartExternalSession.html}, note=[Accessed: 21-November-2024 ]}