pipenv install で RuntimeError: location not created nor specified が出る場合

投稿者: ytyng 1年, 7ヶ月 前

pipenv install で、 python3.10 環境を作ろうとして

% pipenv install
...
...
Traceback (most recent call last):
File "/usr/local/bin/pipenv", line 8, in <module>
sys.exit(cli())
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 829, in __call__
return self.main(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 782, in main
rv = self.invoke(ctx)
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1259, in invoke
return _process_result(sub_ctx.command.invoke(sub_ctx))
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 1066, in invoke
return ctx.invoke(self.callback, **ctx.params)
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/decorators.py", line 73, in new_func
return ctx.invoke(f, obj, *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/core.py", line 610, in invoke
return callback(*args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pipenv/vendor/click/decorators.py", line 21, in new_func
return f(get_current_context(), *args, **kwargs)
File "/usr/local/lib/python3.9/site-packages/pipenv/cli/command.py", line 233, in install
retcode = do_install(
File "/usr/local/lib/python3.9/site-packages/pipenv/core.py", line 1920, in do_install
ensure_project(
File "/usr/local/lib/python3.9/site-packages/pipenv/core.py", line 585, in ensure_project
path_to_python = which("python") or which("py")
File "/usr/local/lib/python3.9/site-packages/pipenv/core.py", line 97, in which
raise RuntimeError("location not created nor specified")
RuntimeError: location not created nor specified

となる場合。

PC 内に、複数の Python 環境がある場合、それぞれの環境ごとに pip や pipenv がインストールされます。

単純に pip というコマンドで、どのバージョンの pip が動くかを確認するには、

% cat $(which pip)

としてみて 1行目の Shebang を確認するとわかります。

% cat $(which pip)
#!/usr/local/opt/python@3.9/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys
...
% cat $(which pipenv)
#!/usr/local/opt/python@3.9/bin/python3.9
# -*- coding: utf-8 -*-
import re
import sys
...


今回は、python3.9 環境に入っている pipenv で、 python3.10 の venv を作ろうとしてエラーが出ていました。


バージョンを指定した python 環境化で pip や pipenv を実行するには、 -m オプションを使います。

今回は、pipenv と打った時に、python3.10 環境の pipenv を動作させるようにしたかったため、 python3.10 に pipenv をインストールします。

% python3.10 -m pip install pipenv

インストール後

% cat $(which pipenv)
#!/usr/local/opt/python@3.10/bin/python3.10
# -*- coding: utf-8 -*-
import re
import sys
from pipenv import cli
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
sys.exit(cli())
現在未評価

コメント

アーカイブ

2024
2023
2022
2021
2020
2019
2018
2017
2016
2015
2014
2013
2012
2011