私が取り組んでいる新しいプロジェクトでpipenvを使用しています。インストールされているパッケージのバージョンと一致しないPipfile.lockのバージョン
[packages]
django = "*"
とPipfile.lock示す:pipenv install
はPipfile示すと、ジャンゴた初期
"version": "==1.11.7"
pipenv graph
とpip list
(pipenvのvirtualenvの中から)の両方は、Djangoのバージョン1.11を示します。 7がインストールされています
ただし、私が後で行うときpipenv install new-package
Pipfile.lockはショーにアップデート:Djangoのための
"version": "==2.0"
、pipenv graph
とpip list
の両方がバージョン1.11.7がまだローカルにインストールされていることを示しているにもかかわらず。これは、明らかに、ローカルのDjangoのバージョンがPipfile.lockに基づいて新鮮な環境にインストールされるバージョンと異なるため、問題を引き起こします。
pipenv install new_package
は、すでにインストールされているパッケージの最新バージョンを最新バージョンに更新することなく、指定されたバージョンのパッケージを更新しているようです。これは私には直観的ではないようです。私が見る限り、Pipfile.lockをローカル環境と同期させる唯一の方法は、Pipfileのすべてのパッケージバージョンをピンするか、pipenv install ...
にpipenv update
でフォローアップすることです。特に直感的なワークフロー。
私はこの動作を実際に明確にするドキュメントや有用な回答をオンラインで見つけることができませんでした。これは期待された動作ですか、何か不足していますか? pipenvを使用してこの状況を処理するための「推奨される」ワークフローは何ですか?