2017-12-13 5 views
1

새로운 프로젝트에서 pipenv를 사용하고 있습니다. 모두합니다 (pipenv VIRTUALENV 내에서)설치된 패키지 버전과 일치하지 않는 Pipfile.lock 버전

"version": "==1.11.7" 

pipenv graphpip list 보여 장고 버전 1.11이 :

[packages] 

django = "*" 

Pipfile.lock 보여주는 : 초기 pipenv installPipfile 보여주는, 장고이었다. 7이 설치된 경우

그러나 후속 작업을 수행 할 때 pipenv install new-package Pipfile.lock은 다음과 같습니다. 비록 pipenv graphpip list 두 버전 1.11.7은 여전히 ​​로컬로 설치되어 있는지 보여, 장고를위한

"version": "==2.0" 

: 표시하도록 업데이트. 이것은 로컬 Django 버전이 Pipfile.lock을 기반으로 새로운 환경에 설치 될 버전과 다르므로 분명히 문제를 일으 킵니다.

pipenv install new_package은 이미 설치된 패키지의 최신 버전으로 업데이트하지 않고 지정된 버전의 패키지를 업데이트하고있는 것으로 보입니다. 이는 나에게 반 직관적 인 것처럼 보입니다. 내가 아는 한 Pipfile.lock을 로컬 환경과 동기화 된 상태로 유지하는 유일한 방법은 Pipfile의 모든 패키지 버전을 고정하거나 pipenv install ...을 모두 pipenv update으로 추적하는 것입니다. 둘 다 어느 것으로도 보이지 않습니다. 특히 직관적 인 워크 플로우.

온라인으로 문서 나 유용한 답변을 찾을 수 없어서이 문제를 명확하게 설명하지 못했습니다. 예상되는 행동입니까, 아니면 뭔가 빠졌습니까? pipenv를 사용하여이 상황을 처리하기위한 '권장'워크 플로우는 무엇입니까?

답변

0

이것은 pipenvissues에 설명 된 것과 비슷한/동일한 문제인 것으로 보입니다. older, issue에서 응답의 내 독서는이 동작이 예상 될 때이다, 그리고 :

최신 상태 pipenv update에 대한 호출이 될 것입니다 Pipfile.lock의 내용으로 pipenv 생성 환경을 유지하기 위해
  • pipenv install new-package 동안 '무관'패키지의 업데이트를 방지하기 위해
  • 을 요구 그것은 Pipfile의 버전을 고정하는 것이 필요
그것은이 동작을 변경하기 위해 즉각적인 계획이 없음을이 문제에 현재의 반응에서 나타나는

.