from pandas_data_reader import data
from fbprophet import Prophet
TypeError: This is a python-holidays entity loader class. For entity inheritance purposes please
import a class you want to derive from directly: e.g., `from holidays.countries import Entity` or `from holidays.financial import Entity`.
띠용... 구글링으로 비슷한 사례를 찾아보니
fbprophet은 prophet이 되었기 때문에
from prophet import Prophet 시도했더니 되었다고 한다.
그래서 다시 시도했지만, 결과는 같았다.
뭐가 문젤까하다가 gpt한테 물어봤다.
아래는 결과다.
당신이 겪고 있는 오류는 prophet 라이브러리와 이 라이브러리의 의존성인 holidays 라이브러리와 관련이 있는 것으로 보입니다. 오류 메시지는 holidays 라이브러리 내의 entity 상속과 관련된 문제가 있는 것으로 보입니다.
다음은 오류 메시지의 의미입니다:
prophet 라이브러리는 시계열 예측을 위해 휴일을 처리하기 위해 holidays 라이브러리를 사용합니다.
오류 메시지는 holidays 라이브러리 내의 entity 상속에 문제가 있다는 것을 나타냅니다. 특히 EntityLoader 클래스에서 발생한 문제로 보입니다. 이 클래스는 휴일 데이터를 로드하는 데 사용됩니다.
오류 메시지는 holidays 라이브러리에서 엔티티 상속에 사용자로 하여금 직접 클래스를 가져오도록 요구한다는 것을 나타냅니다(예: from holidays.countries import Entity 또는 from holidays.financial import Entity). EntityLoader 클래스를 사용하지 말라고 알려줍니다.
이 문제를 해결하기 위해 다음 단계를 시도할 수 있습니다:
pip install --upgrade prophet holidays
휴일 처리를 위한 코드에서 올바른 import 문을 사용하는지 확인하십시오. 오류 메시지에서 제안된대로 엔티티 상속을 위해 해당 휴일 클래스를 직접 가져와야 합니다.
문제가 지속되는 경우 prophet 및 holidays 라이브러리 버전 간의 호환성 문제를 확인해 보십시오. 특정 라이브러리 버전 조합이 이 문제를 일으키는 가능성이 있습니다.
위의 모든 해결책이 작동하지 않는 경우 가상 환경을 만들고 호환되는 prophet 라이브러리 버전과 함께 사용하기 알려진 특정 버전의 holidays 라이브러리를 설치해 보는 것도 고려할 수 있습니다.
더 구체적인 안내가 필요한 경우 사용 중인 prophet 및 holidays 라이브러리 버전 및 휴일 처리에 대한 코드에서 import 문에 관한 정보를 제공해 주십시오.
여기서 1번을 실행했더니
Importing plotly failed. Interactive plots will not work.
위와 같이 나왔다. plotly도 설치 한 후 import 해주었다.
그랬더니 해결됐다.
빨리 해결된 건 좋은데, 영어로 된 에러메세지를 읽어서 파악할 줄 알았다면 하는 아쉬움이 남았다.
이제 와서 에러메세지를 다시 봤다.
TypeError: This is a python-holidays entity loader class. For entity inheritance purposes please
import a class you want to derive from directly: e.g., `from holidays.countries import Entity` or `from holidays.financial import Entity`.
굵은 글씨가 요점이다. 이대로 한다면 위의 첫번째 방법이 아닌 두번째 방법-holidays를 따로 import 하는 방법
을 사용했을 것 같다. 결과는 같은 것 같은데..
일단 install한다고 다 최신버전은 아니라는 건 알았다
(install 하자마자 update해야 했으니)