Pipenv의 pyenv 지원 (자동 버전 설치)이 작동하지 않을 때

빠져서 메모. 20191209 시점의 이야기.

tl;dr



이런 느낌이 들면,
$ pipenv sync
Warning: Python 3.7 was not found on your system…
Would you like us to install CPython 3.7.5 with pyenv? [Y/n]: Y
Installing CPython 3.7.5 with pyenv (this may take a few minutes)…
✔ Success!

Warning: The Python you just installed is not available on your PATH, apparently.

이제 OK
pip install --user pipenv==v2018.7.1
pip install pip==18.0

Pipenv의 pyenv 지원



Pipenv에는 pyenv가 설치되어 있으면 Pipfile에 기재된 버전을 마음대로 설치해 주는 기능이 있습니다.

하지만, 현재 latest(v2018.11.26)
issue : Pyenv support broken #3551

해보면 이런 느낌으로, Success와 나오지만 제대로 움직이지 않는다.
$ pipenv sync
Warning: Python 3.7 was not found on your system…
Would you like us to install CPython 3.7.5 with pyenv? [Y/n]: Y
Installing CPython 3.7.5 with pyenv (this may take a few minutes)…
✔ Success!

Warning: The Python you just installed is not available on your PATH, apparently.

Pipenv 버전 낮추기



issue의 코멘트에는 「master 브랜치 사용하면 움직인다」라든가 「버전을 낮추면 움직인다」라고 하는 코멘트가 있으므로, 버전을 내려 보았다.
$ pip install --user pipenv==v2018.7.1
...
Successfully installed pipenv-2018.7.1

이번에는 Pipenv 자체가 움직이지 않게 되었다.
$ pipenv sync
...
TypeError: 'module' object is not callable

pip 버전도 낮추기



Pipenv를 다운 그레이드했기 때문에, 대응하는 pip의 버전도 낮추지 않으면 안되는 듯하다.
issue : pip 18.1 causes "TypeError: 'module' object is not callable" #2924
$ pip install pip==18.0
...
Successfully installed pip-18.0

이것으로 잘 작동했습니다
$ pipenv sync
...
All dependencies are now up-to-date!

하지만 잠금이 깨지



issue : Running pipenv gives TypeError: 'module' object is not callable #2871

힘들어. 우선 버전을 전환하면서 운용하고 있다. 힘들어.
$ pip install --user pipenv==v2018.11.26

뱀발



Pipenv의 릴리스가 계속 멈추고 있는 건에 대해서는 여기 이슈 에서 논의되고 있는 것 같습니다. 열심히 ~ ~

좋은 웹페이지 즐겨찾기