1
원인 및 상황
Amber는 분자동역학 시뮬레이션에서 자주 사용되는 소프트웨어 패키지이다. 그런데 요번에 Amber 20 버전으로 업데이트했는데 발생한 버그가
있다. 그것은 바로 pdb4amber의
임포트 에러.
원인을 정확히 이해하진 못했지만, 아마도 소스코드의 문제로 인해 컴파일할
때 pdb4amber의 경로를 제대로 잡아주지 못한 것 같다.
2
해결 방법
해당 이슈로 고생하신 분들이 남긴 깃허브 이슈트래커를 참조하였다. 이 글에서 제시된 해결책은 다음과 같다:
l pdb4amber의 egg-info 및 패키지 위치 조정하기
mv /opt/amber/lib/python3.8/site-packages/pdb4amber-1.7.dev0-py3.8.egg/EGG-INFO
/opt/amber/lib/python3.8/site-packages/pdb4amber-1.7.dev0-py3.8.egg-info
mv
/opt/amber/lib/python3.8/site-packages/pdb4amber-1.7.dev0-py3.8.egg/pdb4amber
/opt/amber/lib/python3.8/site-packages/pdb4amber
l setuptools 버전을 다운그레이드하기
그런데 이 방법은 run_cmake로 설치했다면 실행하지 않아도 된다. Amber 메일링
리스트에 의하면
run_cmake로 설치할 경우엔 업데이트가 자동으로 진행되어
지금 이 이슈가 발생하지 않을 것이기 때문이다. 다만, 사용자가
자체적인 파이썬을 가지고 있는 경우엔 여전히 문제가 발생할 수 있다. 필자의 경우도 $AMBERHOME/update_amber 를 실행시켰을 때 /usr/bin/env: ‘python’: No
such file or directory 에러를 뱉어냈다.
amber.python -m pip install setuptools=47.3.1
l $PYTHONPATH 변수에 pdb4amber 패키지만 따로 추가하기 (해결)
Amber를 설치하고 나서 source amber.sh 등을 실행해줄텐데, 해당 파일을 source
하기 전과 후에 각각 echo $PYTHONPATH 를 비교해보면 쉽게 알 수 있다(아래의 사진을 참고하면 좋다).
export
PYTHONPATH=$PYTHONPATH:$AMBERHOME/lib/python3.8/site-packages/pdb4amber-1.7.dev0-py3.8.egg/