oryou-sanのブログ

備忘録です

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
#コマンドが見つからないエラーが出る