pipenv でローカルパッケージが正常にインストールされないときの対処法
TL; DR;
- pip install pipenv==2018.11.26 をすれば直った!!!!!
実行環境
$pipenv --version
pipenv, version 2020.11.15
直面した問題
./app/
├── model
│ └── setup.py
└── serving
└── Pipfile
のような構成で、model
というローカルパッケージを作成しており、serving 直下の Pipfile は、model
を読み込んで setup.py に記述されている依存パッケージもインストールするようにしたい。
serving ディレクトリで、以下のコマンドを入力すればローカルパッケージが pipenv によりインストールされるはずだが
pipenv install --editable ../model
依存関係をすべて記述するはずの Pipenv.lock には、model
のパスのみが記述され、ローカルパッケージが要求する依存パッケージが記述されていない。
原因を探してみたところ、
Installing a local package with pipenv install ‘-e .’ doesn’t save dependencies #1024
同じ GitHub issue を発見しダメ元で pipenv を以下のコマンドでダウングレードして見たところ
pip install pipenv==2018.11.26
なんと…. 直った。無事にローカルパッケージの依存パッケージが Pipenv.lock に記述されており、無事にローカルパッケージが serving 直下で動くようになった。
後方互換性が無いとかそんなちゃちな問題ではない気がするのだが、この問題でかなり時間が溶けたので非常に精神的に消耗した。
思えばこういう問題が多くて、普段は poetry を使っていたのを思い出した。
Ref
関連しているかもしれない記事
- pip 実行時に sys.stderr.write(f"ERROR: {exc} ") とエラーが出てpipを実行できないときの対処方法
- PythonでApache beam 入門
- pandas を使って特定のディレクトリのCSVファイルをすべて連結して一つのCSVファイルを作成
- Python の内包表記とジェネレータ式のメモリ使用量比較
- AOJの「ITP I」40問をPythonで解いた
Support
記事をお読みくださりありがとうございます。 このウェブサイトの運営を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、記事の執筆、情報発信のモチベーションに繋がります✨--
記事を楽しめましたか? RSSで更新情報を配信しているので、お好きなフィードリーダーで購読してみてください。また、記事へのリアクションやコメントなどを、以下のGitHub を利用したコメントシステムからしていただけると執筆の励みになります。