LoginSignup
0
0

venvとjupyterを使用時、仮想環境内のモジュールをインポートできるようにする(ModuleNotFoundErrorの解決)

Posted at

経緯

を参考に、JupyterLabの仮想環境上での作業ページを作ったが、ModuleNotFoundErrorが発生した。

まあいつものことなので、どうせJupyterに仮想環境内のモジュールへのパスが通っていないのだろうなとsys.pathを見てみると当たり。

毎回sys.path.appendをするのは面倒くさすぎるので、ちょっと手を加えてなんとかする。

(初めてのQiitaの記事作成です)

使用OS

windows11

作業手順

参考

IPython Kernelのスタートアップスクリプトを利用する。

Powershell
 $ ipython profile create
 $ ipython locate
 /Users/username/.ipython

.ipython/profile_default/startup に、名前が数字 2 ケタから始まる Python スクリプトを入れると、カーネルの起動時にそれが呼び出されるようになる。

例えば、00-first.py を作って、以下のようにする。

00-first.py
import sys
sys.path.append('.\\venv\\Lib\\site-packages')

わざと相対パスにすることで、どの仮想環境(カーネル)を起動しても、パスが通るようにしている。
ちなみに仮想環境を作るとき、環境名を統一してないと、もちろんこの方法は通用しないので注意。

余談

自分はまだ使ってないが、多分仮想環境はPoetryを使ったほうがいい。

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0