Jupyter NotebookでUnixコマンドを実行するときの注意点
はじめに
Jupyter Notebookにて一部のコマンドがうまく実行できなくて、スタックしたことがあり、
その際の備忘として記事を残します。
1.シェルの状態はすぐに棄却される
Unixコマンドで実行したシェルの状態は実行直後に棄却されます。
なので!cdでカレントディレクトリを変更しても反映されません。
!pwd #出力:User/xxxx/ !cd Users/xxxx/Documents/ !pwd #出力:User/xxxx/ #ディレクトリが変更されていない
2.ターミナルとは異なる環境変数が設定されている(パス含む)
これは実行環境にもよる気がするのですが、ターミナルでコードを実行する際に参照される環境変数(というかパス)と
Jupyter Notebookで実行する際に参照される環境変数は異なるようです。
自分はこれが原因でhomebrewにて追加したコマンドが実行できませんでした。
(1.の理由で、Unixコードで環境変数を更新して実行するのも不可能でした。)
!brew -help #出力:zsh:1: command not found: brew #コマンドが見つからないエラーが出る