発生した問題
- PyCharmでProject Interpreterをpipenvに設定したとき、PreferenceからパッケージをインストールするとJSON.Decode.Errorが発生する。(インストールやPipfileの書き換えは成功している)
- Preferenceにインストール済みのパッケージ一覧が表示されない。
そこから調査を開始して
- pipenv graphが表示されず
TypeError: 'module' object is not callable
が発生 - pipenvでパッケージのインストールやアンインストールをすると
TypeError: 'module' object is not callable
が発生(インストール・アンインストールやPipfileの書き換えは成功している)
#使用環境
- macOS Mojave
- PyCharm 2018.3.2
- Python 3.6.5(pyenv)
- pip 18.0
- pipenv 2018.7.1
解決方法
結論から言うと、pipenvによる仮想環境内部のpipのバージョンが18.1になっていたことが原因でした。
pipenv run pip install pip==18.0
すればOK。
先にpipenv run pip --version
してpipenv仮想環境内のpipのバージョンを確認しましょう。
同様のエラーは多くの人のところで発生していたようで、こちらのissueでも取り上げられています。
PyCharmの表示もこれで解消されます。
参考
Running pipenv gives TypeError: 'module' object is not callable #2871
URL:https://github.com/pypa/pipenv/issues/2871
pip 18.1 causes "TypeError: 'module' object is not callable" #2924
URL:https://github.com/pypa/pipenv/issues/2924