본문 바로가기
프로그램 에러

DEPRECATION: 패키지 버전 has a non-standard dependency specifier

by 젤리아드 2024. 6. 6.
반응형

DEPRECATION: 패키지 버전 has a non-standard dependency specifier.

pip will enforce this behaviour change.

A possible replacement is to upgrade to a newer version of 패키지 이름 or contact the auther to suggest that they release a version with a conforming dependency specifiers.
패키지 설치 결과 메시지

DEPRECATION: 패키지 버전 has a non-standard dependency specifier.

pip will enforce this behaviour change.

A possible replacement is to upgrade to a newer version of 패키지 이름 or contact the auther to suggest that they release a version with a conforming dependency specifiers.

 

특정 패키지 설치를 완료했는데 결과 메시지에 위와 같은 내용이 포함되어 있어서 이 문제에 대해 알아보고자 합니다.

일단 첫 문째 문장(패키지 버전 has a non-standard dependency specifier)을 살펴보면 해당 패키지 버전은 비표준 종속성 지정자를 가지고 있다고 말하고 있습니다.

 

종속성 지정자란 해당 패키지가 필요로 하는 특정 패키지의 버전을 지정하는 것입니다.

예를 들어 A라는 패키지가 있는데 이 A 패키지가 작동하려면 B라는 패키지가 필수로 필요합니다.

그럼 A 패키지에서 B 패키지의 이름과 버전을 명시합니다.

명시된 B 패키지는 A 패키지가 설치될 때 자동으로 설치됩니다.

왜냐하면 A 패키지는 B 패키지 없이 단독으로 실행될 수 없기 때문입니다.

따라서 A 패키지는 B 패키지에 종속되어 있습니다.

이때 A 패키지가 명시한 B 패키지의 이름과 버전이 종속성 지정자입니다.

 

A 패키지에서 명시한 종속성 지정자 예시

B 패키지==2.1.2

A 패키지에서는 B 패키지의 2.1.2 버전만 필요로 합니다.

2.1.2를 제외한 다른 버전의 B 패키지는 A 패키지와 호환되지 않습니다.

2.1.2보다 높은 버전의 B 패키지 또한 A 패키지와 호환되지 않습니다.

 

B 패키지>=2.1.2

2.1.2를 포함하여 그보다 높은 버전의 B 패키지라면 모두 A 패키지와 호환됩니다.

2.1.2보다 낮은 버전의 B 패키지는 A 패키지와 호환되지 않습니다.

 

B 패키지>=2.1.2,<2.3

2.1.2를 포함하여 그보다 높지만 2.3 보다는 낮은 버전의 B 패키지만 A 패키지와 호환됩니다.

 

B 패키지!=2.3.0

2.3.0 버전을 제외한 모든 버전의 B 패키지가 A 패키지와 호환됩니다.

2.3.0 버전의 B 패키지만 A 패키지와 호환되지 않습니다.

 

위에 언급된 모든 종속성 지정자는 표준 종속성 지정자입니다.

 

non-standard dependency specifier(비표준 종속성 지정자)

비표준 종속성 지정자표준 종속성 지정자의 형식을 따르지 않는 종속성 지정자입니다.

1. 오타 및 철자가 틀려서 형식이 잘못된 지정자

2. "최신 버전만 호환"등과 같은 모호한 단어를 사용한 지정자

3. 논리적으로 이해될 수 없는 잘못된 범위의 버전 지정

 

해결 방법

DEPRECATION: 패키지 버전 has a non-standard dependency specifier.

pip will enforce this behaviour change.

A possible replacement is to upgrade to a newer version of 패키지 이름 or contact the auther to suggest that they release a version with a conforming dependency specifiers.
비표준 종속성 지정자 메시지

메시지 앞쪽에 표시된 패키지의 버전비표준 종속성 지정자를 가지고 있으므로 그보다 높은 버전으로 업데이트하면 됩니다.

보통 최신 버전의 패키지에서는 이러한 비표준 종속성 문제가 해결되기 때문에

pip install (패키지 이름)

명령어를 실행하여 패키지를 최신 버전으로 업데이트하면 대부분 문제가 해결됩니다.

문제가 해결되지 않을 경우 패키지 제작자에게 연락하여 버전 업데이트를 요청해도 됩니다.

위 메시지의 내용도 이러한 내용을 담고 있습니다.

728x90

댓글