InitError: could not load symbol Py_CompileString: 오류

줄리아에서 PyCall를 using으로 import 할시 다음과 같은 오류가 일어났다.

InitError: could not load symbol "Py_CompileString"

구글링을 해보니 PyCall 이슈에 파이썬이 3.8 이상이면 문제가 된다고 하는 글이 있었다. (다운그레이드로 해결하면 된다고 함)

!https://github.com/JuliaPy/PyCall.jl/issues/729

글을 보고 3.7로 다운그레이드로 하려고했으나, 다운그레이드하면 설치된 라이브러리들의 호환성이 문제가 될 여지가 있어 우선 내 가상환경 버전을 먼저 보았다.

python --version

결과는 3.8.0이었고, 3.8의 초기 버전이라 그런것이라고 생각되어 해당 가상환경의 아나콘다를 업데이트하였다.

conda update --all
The following packages will be UPDATED:

  ca-certificates                      2022.3.29-haa95532_0 --> 2022.4.26-haa95532_0
  openssl                                 1.1.1n-h2bbff1b_0 --> 1.1.1o-h2bbff1b_0
  python                                   3.8.0-hff0d562_2 --> 3.8.13-h6244533_0
  setuptools                          58.0.4-py38haa95532_0 --> 61.2.0-py38haa95532_0
  sqlite                                  3.38.2-h2bbff1b_0 --> 3.38.3-h2bbff1b_0


Proceed ([y]/n)? y


Downloading and Extracting Packages
python-3.8.13        | 16.5 MB   | ############################################################################ | 100%
sqlite-3.38.3        | 806 KB    | ############################################################################ | 100%
openssl-1.1.1o       | 4.8 MB    | ############################################################################ | 100%
setuptools-61.2.0    | 1.0 MB    | ############################################################################ | 100%
ca-certificates-2022 | 124 KB    | ############################################################################ | 100%
Preparing transaction: done
Verifying transaction: done
Executing transaction: done

그러자 3.8.13으로 업그레이드가 된것을 확인할 수 있었고, using PyCall을 해도 오류가 생기지 않았다.

(만약 이래도 안된다면 눈물을 머금고 3.7버전으로 다운그레이드를 하시는것이..)

도움이 되셨음 좋겠습니다…

Categories:

Updated:

Leave a comment