Pythonで開発する場合、コードを書いて、バッファをインタプリタに送り込んで動作確認、といった一連の作業の繰り返しをEmacs上でしています。ただ、コード内容を共有するには少々不便なので、EmacsにJupyter Notebook環境を設定してみました。
開発OSは、Ubuntu 22.04を使用していますが、デフォルトのPython環境へのpipインストールはできないため (っていうかOSから苦情がでる)、仮想環境を作成して開発しています。
Emacs IPython Notebook (EIN)に、Python仮想環境のカーネル認識させるために、以下のパッケージをインストールし、カーネルをインストールするとJupyter Notebook画面上に仮想環境が表示されます。
pip install ipykernel python -m ipykernel install --user --name=portfolio
portfolioという仮想環境が表示されました。

Emacs設定はこちら⬇
(require 'ein)
(require 'ein-notebook)
(setq ein:worksheet-enable-undo t)
(setq ein:output-area-inlined-images t)
(require 'pyvenv)
(pyvenv-mode t)
;; Set correct Python interpreter
(setq pyvenv-post-activate-hooks
(list (lambda ()
(setq python-shell-interpreter (concat pyvenv-virtual-env "bin/python3")))))
(setq pyvenv-post-deactivate-hooks
(list (lambda ()
(setq python-shell-interpreter "python3"))))
参考: github.com