spacepy install 중 error가 발생했는데 대충 아래와 같이 빨간 글씨로 어마무시한 분량이 출력된다.. ㄷㄷ
검색해서 이 글 저 글 보다보니 C, Fortran 문제라고 하는것 같다.
깃허브글들을 통해 해결하고자 했는데 대화만 길게 오가고 명확한 해결법이 제시된것 같지가 않아서 이 글을 올린다.
spacepy를 설치하기 위해서 C, Fortran compile가 있어야 하는데 Linux에서는 없기 때문에 따로 설치를 해줘야 한다. 따라서 아래 명령어로 이 문제를 해결한다.
sudo apt-get install gfortran
그리고 spacepy를 설치하기 위해 다음의 라이브러리도 추가적으로 설치해야한다. 나는 conda를 사용하므로 아래 명령어를 이용했다.
conda install numpy scipy matplotlib networkx h5py
다음 아래의 명령어로 spacepy설치가 가능하다.
pip install spacepy==0.2.2
원래는 spacepy 0.1.6버전을 설치하려고 했는데 위의 명령어들로도 해당 버전은 설치가 되지 않았다. 저렇게 해도 버그문제를 해결할 수 없었나본데 0.2.2 버전은 버그를 해결한 모양이다. 0.1.6 ~ 0.2.2 버전들 중에서는 어떻게 됐는지 모르지만 이 글이 도움이 되길 바란다.
=======================================
22.01.24.월
spacepy를 원활하게 사용할 수 있게 추가적으로 글을 덧붙인다.
현재 내가 사용하려는 코드에서 spacepy를 import 하려니 다음과 같은 에러가 발생했다.
/home/kwu/anaconda3/envs/h36m-fetch/lib/python3.9/site-packages/spacepy/time.py:2365: UserWarning: Leapseconds may be out of date. Use spacepy.toolbox.update(leapsecs=True)
warnings.warn('Leapseconds may be out of date.'
Traceback (most recent call last):
File "/home/kwu/data/learnable_triangulation_data/human36m/h36m-fetch/process_all.py", line 8, in <module>
from spacepy import pycdf
File "/home/kwu/anaconda3/envs/h36m-fetch/lib/python3.9/site-packages/spacepy/pycdf/__init__.py", line 1286, in <module>
raise Exception(('Cannot load CDF C library; checked {0}. '
Exception: Cannot load CDF C library; checked . Try 'os.environ["CDF_LIB"] = library_directory' before import.
CDF C library 를 사용해야하므로 spacepy를 import 하기전에 환경설정을 통해 CDF C library를 사용할 수 있게 해달라는 내용이다.
나는 예전에 cdf디렉토리를 다운받아서 cdf38_0-dist 라는 폴더가 있는 상태이다.
이 폴더안에서 lib라는 폴더를 사용할 수 있게 해야한다. 따라서 다음과 같이 원본코드를 수정한다.
이 글이 spacepy를 사용하는데 도움이 되기를 바란다.
'Programming > Python' 카테고리의 다른 글
[파이썬 에러] UserWarning: Matplotlib is currently using agg, which is a non-GUI backend, so cannot show the figure. (1) | 2021.07.19 |
---|---|
[python 문법] filter 사용법 (0) | 2021.07.02 |
[python] 파이썬 print 출력방식. f-string (0) | 2020.11.12 |
[python] class 기본 메서드 __init__, __getitem__ (2) | 2020.09.03 |
[편미분] sympy와 diff를 이용한 편미분 (1) | 2020.08.19 |