Shunya Ueta

pipenv のversion 2020.11.15 でローカルパッケージが正常にインストールされないときの対処法

TL; DR;

実行環境

$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

---

関連しているかもしれない記事


📮 📧 🐏: 記事への感想のおたよりをおまちしてます。 お気軽にお送りください。 メールアドレス入力があればメールで返信させていただきます。 もちろんお返事を希望せずに単なる感想だけでも大歓迎です。

このサイトの更新情報をRSSで配信しています。 お好きなフィードリーダーで購読してみてください。

このウェブサイトの運営や著者の活動を支援していただける方を募集しています。 もしよろしければ、Buy Me a Coffee からサポート(投げ銭)していただけると、著者の活動のモチベーションに繋がります✨

#python