2017-12-13 17 views
1

私が取り組んでいる新しいプロジェクトでpipenvを使用しています。インストールされているパッケージのバージョンと一致しないPipfile.lockのバージョン

[packages] 

django = "*" 

Pipfile.lock示す:pipenv installPipfile示すと、ジャンゴた初期

"version": "==1.11.7" 

pipenv graphpip list(pipenvのvirtualenvの中から)の両方は、Djangoのバージョン1.11を示します。 7がインストールされています

ただし、私が後で行うときpipenv install new-package Pipfile.lockはショーにアップデート:Djangoのための

"version": "==2.0" 

pipenv graphpip listの両方がバージョン1.11.7がまだローカルにインストールされていることを示しているにもかかわらず。これは、明らかに、ローカルのDjangoのバージョンがPipfile.lockに基づいて新鮮な環境にインストールされるバージョンと異なるため、問題を引き起こします。

pipenv install new_packageは、すでにインストールされているパッケージの最新バージョンを最新バージョンに更新することなく、指定されたバージョンのパッケージを更新しているようです。これは私には直観的ではないようです。私が見る限り、Pipfile.lockをローカル環境と同期させる唯一の方法は、Pipfileのすべてのパッケージバージョンをピンするか、pipenv install ...pipenv updateでフォローアップすることです。特に直感的なワークフロー。

私はこの動作を実際に明確にするドキュメントや有用な回答をオンラインで見つけることができませんでした。これは期待された動作ですか、何か不足していますか? pipenvを使用してこの状況を処理するための「推奨される」ワークフローは何ですか?

答えて

0

これは、pipenvissuesに記載されているものと同様の/同じ問題であるようです。 older, issueでの回答の私の読書は、この動作が期待通りであり、そのことです:

  • pipenv updateへの呼び出しが可能になるPipfile.lock内容と最新pipenv生成された環境を維持するために、それはこの動作を変更する当面の計画がないことを、この問題への電流応答から見えるPipfile

でピン版に必要だpipenv install new-package中に「無関係」パッケージの更新を防ぐために

  • を必要と。

  • 関連する問題