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 support
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!
ただしlockが壊れる
issue: Running pipenv gives TypeError: 'module' object is not callable #2871
つらい。とりあえずバージョンを切り替えながら運用している。つらい。
$ pip install --user pipenv==v2018.11.26
蛇足
Pipenvのリリースがずっと止まってる件についてはこちらのissueで議論されているようです。頑張れ〜〜
Author And Source
この問題について(Pipenvのpyenvサポート(自動バージョンインストール)が動かないとき), 我々は、より多くの情報をここで見つけました https://qiita.com/tinoji/items/44a178529b920691d65f著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .