본문 바로가기
Programming

[open] weasy print django 사용하기 OSError: cannot load library 'gobject-2.0-0': error 0x7e. Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0' OSError: no library called "cairo-2" was foundno library..

by 하하호호 2021. 10. 6.
반응형

 

 

 

웹의 데이터를 'PDF' 형식으로 정리하는 과정에서 에러가

발생한다. 아마도 리눅스 기반으로 만들어진 라이브러리다보니

windows에서 운영하는데, 에러가 발생하는 것으로 보인다.

 

err1 : 

OSError: cannot load library 'gobject-2.0-0': error 0x7e.  Additionally, ctypes.util.find_library() did not manage to locate a library called 'gobject-2.0-0' 

err2 : 

OSError: no library called "cairo-2" was foundno library called "cairo" was foundno library called "libcairo-2" was foundcannot load library 'libcairo.so.2': error 0x7ecannot load library 'libcairo.2.dylib': error 0x7ecannot load library 'libcairo-2.dll': error 0x7e

 

먼저 OSError가 발생한다.

gobject를 로드하는 과정에서 오류가 발생한다.

해당 오류는 다음 이유 때문에 발생한다.

 

reason1 :

Missing Library

On Windows, most of the problems come from unreachable libraries. If you get an error like cannot load library 'xxx': error xxx, it means that this library is not installed or not in the PATH environment variable.

 

윈도우 path에 해당 라이브러리가 추가되어 있지 않으면,

해당 오류가 발생된다는 것이다. GTK3 모듈을 다운받아서

bin폴더를 paht에 추가해줬다. (작동안됨)

 

reason2:

개발자가 왜 리눅스를 사용해야 하는지 다시한번 느낀다.

윈도우에 설치되어 있는 GTX+와 weasyprint에서 사용하는

GTX가 충돌하면, OSErrror가 발생한다고 한다. 윈도우를

사용하고 있는 상황에서 빌드환경을 바꾸는 방법밖에 

답이 없음. 웬만하면 리눅스를 사용하자.

 

solution

 

prerequisite)

weasyprint 모듈은 윈도우 64bit 버전만 지원한다.

본인 pc에 python 64bit인지 반드시 확인해야 한다.

 

 

 

1)  python -m pip install --upgrade pip setuptools

2) python -m pip install WeasyPrint(pip install weasyprint==52.1)

3) Run weasyPrint code

python -m weasyprint http://weasyprint.org weasyprint.pdf

4) InstallGTX3-runtime for win-64bit 

5) Restart Computer

6) Run weasyPrint code again

 

 

 

결과

어떤 방법을 적용해도,

cairo, libcairo-2.dll 적용을 하지 못한다.

weasyprint가 돌아가면서 사용하는

pango, cairo,  GDK-PixBuf를 모두 설치해서

가상환경에서 weasyprint를 적용했지만,

작동이 되지 않는다.

 

검색 결과

windows에서 weasyprint 작동을 포기하고,

두개의 길로 나뉜다.

빌드를 ubuntu 환경에서 하던지(os를 아예 바꿈)

다른 pdf generator 모듈을 사용(xhtml2pdf)

 

 

약 7시간 정도 해맸는데,

결론은 나도 다른 모듈로 갈아타는 거다.

종속성이 정말.. 최악이다.

 

 

 

 

 

 

반응형

댓글