メインコンテンツへスキップ

Elpy RPC Process and Python Version

··1 分·
Elpy Python Emacs
Makoto Morinaga
著者
Makoto Morinaga
技術メモ、コーディング、環境構築のための個人ノート。
目次

この投稿ではElpyでのRPC ProcessのPythonバージョンに関するエラーについて記載します。

エラー
#

ElpyのRPC Processは、デフォルトで~/.emacs.d/elpy/rpc-venvに専用の仮想環境を作成しますが、環境よっては以下のエラーが発生して、仮想環境が作成できない場合があります。

エラー内容
Elpy needs the 'virtualenv' or 'venv' python packages to create its virtualenv. Please install one of them or disable the dedicated virtualenv with '(setq elpy-rpc-virtualenv-path 'current)'

原因の可能性の一つ
#

上記エラーは、Elpyが仮想環境を作成する際にデフォルトでpythonコマンドを参照していますが、以下のように対応するコマンド(virtualenvやvenv)が存在しない時に発生する場合があります。

  • pythonコマンドのpythonが2系かつvirtualenvがインストールされていない
  • pythonコマンドのpythonが3.3未満(venvが取り込まれていないバージョン)

対応
#

上記が原因の場合は、Python3系をメインで使うのでElpyのRPC Processが使うPythonのバージョンをPython3系に指定します。

elpy-rpc-python-commandでRPC Processで参照するPythonを指定できますので、以下のようにpython3コマンドを指定します。(python3コマンドが無い場合は適宜Python3をシステムにインストールするか、存在するpython3.xのコマンドを指定します)

~/.emacs.d/init.el
(setq elpy-rpc-python-command "python3")

私は~/.emacs.d/init.elに上記の設定を記載しています。

上記設定により、ElpyがPython3系のvenvを使ってRPC Process用の仮想環境を作成できるようになりますので、エラーが解消します。

参考URL
#

option-elpy-rpc-python-command

関連記事

Pyenv、pipx、poetryによるPython開発環境(2020)
··1 分
Macos Linux Python
Pythonのデフォルト引数での注意点
··1 分
Python
bit全探索の基本
··1 分
Algorithm Python