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())
コメント