- This topic has 8개 답변, 2명 참여, and was last updated 8 years 전에 by Sangwoo.
-
글쓴이글
-
-
안녕하세요
IDL 8.5.1 버전을 ubuntu 12와 14 버전에서 사용 중 입니다.IDL 8.5 버전부터 추가된 python bridge를 매우 유용하게 사용하고 있습니다.
하지만 python bridge를 사용한 후 NetCDF 파일을 open하면
Segmentation fault (core dumped) 에러가 나면서 IDL이 꺼지는 현상이 발생합니다.
예를들어
아래 링크된 파일을 다운 받은 후 (어떤 ~.nc 파일이나 상관 없습니다.)
ftp://satdat.ngdc.noaa.gov/sem/goes/data/new_avg/2015/11/goes15/netcdf/g15_epead_cpflux_5m_20151101_20151130.ncpython.a = 10
file = ‘g15_epead_cpflux_5m_20151101_20151130.nc’
id = ncdf_open(file)
을 실행하면 튕깁니다. ubuntu 12, 14 버전 모두 마찬가지 입니다.
하지만 centos 6.7에서는 튕기지 않고 제대로 실행이 되네요….python.a = 10 을 실행하지 않고 바로 ncdf_open 을 사용하면 문제가 없는데요..
현재 anaconda 패키지를 통해 python을 사용하고 있습니다.
따로 설정을 통해 해결이 가능한 것인지, 아니면 버그라고 생각해야하는 것인지 궁금하네요 해결 방법이 있을까요?
-
Ubuntu 14, 12 에서
python bridge를 실행하기 전에 dlm_load, ‘ncdf’를 실행해주면 정상적으로 ncdf_open 이 작동합니다.ncdf_open 이 후 .full_reset을 할 경우 또 튕깁니다. .reset 은 안 튕기네요.
문제가 뭘까요…
-
Sangwoo회원
일단 IDL과 Python 간의 브릿지 기능 자체는 정상적으로 작동중인 것으로 보이고, 다만 특별한 조건하에만 발생하는 문제같은데 정확한 원인을 파악하기는 사실 어렵습니다. IDL-Python 브릿지 기능이 아무래도 가장 최근 버전인 8.5에서부터 지원되기 시작했기 때문에 아직은 숨어있는 문제들이 존재할 수도 있습니다. 더구나 OS별로 상황이 다 다르기 때문에 당분간은 지속적인 보완이 필요한 기능이라는 생각이 듭니다. 아직 OS별 테스트 사례들이 많지 않은 상황이기도 합니다. 저도 윈도우즈 OS에서밖에 테스트해본 적이 없고, 다른 OS에서의 사용 사례는 제가 아는 범위하에서는 질문주신 분이 처음이거든요. 본사인 Harris의 포럼에서도 주로 윈도우즈 OS에서의 구동과 관련된 문의들이 주로 많은 상황입니다.
언급해주신 문제에 대해서는 저도 Harris 기술팀에 리포트를 해볼 생각입니다. 다만 뾰족한 해결책이 오기를 기대하기는 쉽지 않을 것 같습니다. 어쨌든 이를 위하여 추가적으로 확인이 필요한 정보들이 있으므로 댓글로 알려주시면 감사하겠습니다.
1) Ubuntu의 정확한 버전 번호 (12.x.x 및 14.x.x)
2) 설치된 아나콘다 패키지의 버전 및 Python의 버전 번호
3) 언급된 현상이 IDLDE 인터페이스의 나타나는 문제인지 아니면 터미널 모드 IDL에서 나타나는 문제인지 여부
4) 언급된 현상의 발생의 일관성 (위와 같은 조건하에서는 항상 예외없이 동일한 문제가 발생하는지 여부)그리고 혹시나 위의 내용에서 python.a = 10이라는 줄을 ncdf_open이 사용된 줄 뒤에 넣으면 어떨까요? 이 경우에도 동일한 현상이 나타나는가도 궁금합니다.
-
Ubuntu 는 Ubuntu 14.04.4와 12.04.5 입니다.
Python, Anaconda 버전은 Python 2.7.11 :: Anaconda 4.0.0 (64-bit)
IDLDE, 터미널 모두 나타납니다.
많은 경우를 해본 것이 아니라 자세히는 모르지만
idl 내에서 python bridge를 사용후 ncdf_open() 함수를 사용하면 모두
Segmentation fault (core dumped) 가 나타납니다.ncdf_open() 을 사용 후 python bridge를 사용하면 문제 없이 됩니다.
ncdf_open()->python bridge-> ncdf_open() 도 문제 없이 발생하구요.
python bridge -> ncdf_open() 의 경우만 에러가 발생하는 것 같습니다. -
Sangwoo회원
본사 기술팀에 문의해서 답을 받았는데요. 기술팀에서는 동일한 OS에서 두가지 상황에 대한 시도가 모두 별 문제 없이 진행이 되었다고 합니다. 다만 이 테스트에서는 Anaconda 2.3.0 버전을 사용하였다고 하네요. 이 문제가 Anaconda 버전에 따른 문제인지는 아직은 확실하지는 않습니다. 우선은 좀 수고스러우시겠지만, 사용중이신 리눅스 터미널에서 printenv라는 명령을 입력했을 때 출력되는 내용을 알려주셨으면 합니다.
-
답변 감사드립니다
아래 내용은 터미널에서 printenv를 사용했을때 나오는 것을 붙여넣기 한 것입니다.CLHEP_LIB_DIR=/home/daekyu/Documents/clhep/lib
G4LEVELGAMMADATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/PhotonEvaporation2.3
MKLROOT=/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl
XDG_VTNR=7
MANPATH=/opt/intel/man/common:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/man:/opt/intel/compilers_and_libraries_2016.1.150/linux/man/en_US:/opt/intel/documentation_2016/en/debugger//gdb-ia/man/:/opt/intel/documentation_2016/en/debugger//gdb-mic/man/:/opt/intel/documentation_2016/en/debugger//gdb-igfx/man/:/opt/intel/man/common:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/man:/opt/intel/compilers_and_libraries_2016.1.150/linux/man/en_US:/opt/intel/documentation_2016/en/debugger//gdb-ia/man/:/opt/intel/documentation_2016/en/debugger//gdb-mic/man/:/opt/intel/documentation_2016/en/debugger//gdb-igfx/man/:/home/daekyu/anaconda2/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man:
XDG_SESSION_ID=c2
CLUTTER_IM_MODULE=xim
SELINUX_INIT=YES
XDG_GREETER_DATA_DIR=/var/lib/lightdm-data/daekyu
SESSION=ubuntu
G4ROOT=/home/daekyu/Documents/geant4
INTEL_LICENSE_FILE=/opt/intel/compilers_and_libraries_2016.1.150/linux/licenses:/opt/intel/licenses:/home/daekyu/intel/licenses:/opt/intel/compilers_and_libraries_2016.1.150/linux/licenses:/opt/intel/licenses:/home/daekyu/intel/licenses
IPPROOT=/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp
GPG_AGENT_INFO=/run/user/1000/keyring-rfh3zQ/gpg:0:1
G4INSTALL=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/geant4make
TERM=xterm
SHELL=/bin/bash
XDG_MENU_PREFIX=gnome-
VTE_VERSION=3409
GDBSERVER_MIC=/opt/intel/debugger_2016/gdb/targets/mic/bin/gdbserver
LIBRARY_PATH=/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../tbb/lib/intel64_lin/gcc4.4:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin
QTHOME=/home/daekyu/anaconda2
G4INCLUDE=/home/daekyu/Documents/geant4/include/Geant4
CDF_BASE=/usr/local/cdf
WINDOWID=18874379
UPSTART_SESSION=unix:abstract=/com/ubuntu/upstart-session/1000/1980
GNOME_KEYRING_CONTROL=/run/user/1000/keyring-rfh3zQ
G4NEUTRONXSDATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/G4NEUTRONXS1.2
MIC_LD_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/mic
GTK_MODULES=overlay-scrollbar:unity-gtk-module
QTLIBS=-L/usr/lib -lQtCore -lQtGui
CDF_BIN=/usr/local/cdf/bin
G4LEDATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/G4EMLOW6.32
USER=daekyu
G4VIS_USE_OPENGLQT=1
LD_LIBRARY_PATH=/home/daekyu/Documents/clhep/lib:/home/daekyu/Documents/geant4/lib:/home/daekyu/Documents/geant4/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/debugger_2016/libipt/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/intel64/gcc4.4:/opt/intel/debugger_2016/libipt/intel64/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/intel64_lin:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../tbb/lib/intel64_lin/gcc4.4:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/../compiler/lib/intel64_lin
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=00;36:
QTFLAGS=-I/usr/include/qt4 -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4/QtOpenGL
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
MIC_LIBRARY_PATH=/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/mic:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/mic/lib:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/lib/mic
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
G4NEUTRONHPDATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/G4NDL4.2
CPATH=/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/include:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/include:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/include:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/include:/opt/intel/compilers_and_libraries_2016.1.150/linux/ipp/include:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/include:/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb/include:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/include
SSH_AUTH_SOCK=/run/user/1000/keyring-rfh3zQ/ssh
G4RADIOACTIVEDATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/RadioactiveDecay3.6
CDF_INC=/usr/local/cdf/include
SESSION_MANAGER=local/ubuntu:@/tmp/.ICE-unix/2136,unix/ubuntu:/tmp/.ICE-unix/2136
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/usr/share/upstart/xdg:/etc/xdg
NLSPATH=/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64/locale/%l_%t/%N:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64/locale/%l_%t/%N:/opt/intel/debugger_2016/gdb/intel64_mic/share/locale/%l_%t/%N:/opt/intel/debugger_2016/gdb/intel64/share/locale/%l_%t/%N:/opt/intel/compilers_and_libraries_2016.1.150/linux/compiler/lib/intel64/locale/%l_%t/%N:/opt/intel/compilers_and_libraries_2016.1.150/linux/mkl/lib/intel64/locale/%l_%t/%N:/opt/intel/debugger_2016/gdb/intel64_mic/share/locale/%l_%t/%N:/opt/intel/debugger_2016/gdb/intel64/share/locale/%l_%t/%N
CDF_HELP=/usr/local/cdf/lib/cdf/help
PATH=/home/daekyu/geant4_workdir/bin/Linux-g++:/home/daekyu/Documents/geant4/bin:/opt/intel/compilers_and_libraries_2016.1.150/linux/bin/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/bin:/opt/intel/debugger_2016/gdb/intel64_mic/bin:/opt/intel/compilers_and_libraries_2016.1.150/linux/bin/intel64:/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi/intel64/bin:/opt/intel/debugger_2016/gdb/intel64_mic/bin:/home/daekyu/anaconda2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
DESKTOP_SESSION=ubuntu
GLQTLIBS=-L/usr/lib -lQtCore -lQtGui -lQtOpenGL
G4LIB=/home/daekyu/Documents/geant4/lib/Geant4-9.6.4
G4ROOTMAKE=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/geant4make
QT_IM_MODULE=ibus
QT_QPA_PLATFORMTHEME=appmenu-qt5
TBBROOT=/opt/intel/compilers_and_libraries_2016.1.150/linux/tbb
G4LIB_BUILD_SHARED=1
G4PIIDATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/G4PII1.3
CDF_LIB=/usr/local/cdf/lib
JOB=dbus
PWD=/home/daekyu
XMODIFIERS=@im=ibus
CLHEP_BASE_DIR=/home/daekyu/Documents/clhep
GDB_CROSS=/opt/intel/debugger_2016/gdb/intel64_mic/bin/gdb-mic
CDF_JAVA=/usr/local/cdf/cdfjava
GNOME_KEYRING_PID=1976
LANG=en_US.UTF-8
GDM_LANG=en_US
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
QTMOC=/usr/bin/moc-qt4
IM_CONFIG_PHASE=1
COMPIZ_CONFIG_PROFILE=ubuntu
G4SAIDXSDATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/G4SAIDDATA1.1
DAALROOT=/opt/intel/compilers_and_libraries_2016.1.150/linux/daal
GDMSESSION=ubuntu
G4VIS_USE_OPENGLX=1
MPM_LAUNCHER=/opt/intel/debugger_2016/mpm/mic/bin/start_mpm.sh
G4UI_USE_TCSH=1
INTEL_PYTHONHOME=/opt/intel/debugger_2016/python/intel64/
SESSIONTYPE=gnome-session
G4VIS_USE_RAYTRACERX=1
CLHEP_INCLUDE_DIR=/home/daekyu/Documents/clhep/include
XDG_SEAT=seat0
HOME=/home/daekyu
SHLVL=1
G4SYSTEM=Linux-g++
G4REALSURFACEDATA=/home/daekyu/Documents/geant4/share/Geant4-9.6.4/data/RealSurface1.0
LANGUAGE=en_US
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
G4UI_USE_QT=1
PYTHONPATH=/usr/local/lib/python2.7/site-packages/:
LOGNAME=daekyu
COMPIZ_BIN_PATH=/usr/bin/
CLASSPATH=/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/daal.jar:/opt/intel/compilers_and_libraries_2016.1.150/linux/daal/lib/daal.jar
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/share/gnome:/usr/local/share/:/usr/share/
QT4_IM_MODULE=xim
DBUS_SESSION_BUS_ADDRESS=unix:abstract=/tmp/dbus-pJOaGEEtR4
G4WORKDIR=/home/daekyu/geant4_workdir
PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
CDF_LEAPSECONDSTABLE=/usr/local/cdf/CDFLeapSeconds.txt
LESSOPEN=| /usr/bin/lesspipe %s
QTLIBPATH=/home/daekyu/anaconda2/lib
INFOPATH=/opt/intel/documentation_2016/en/debugger//gdb-ia/info/:/opt/intel/documentation_2016/en/debugger//gdb-mic/info/:/opt/intel/documentation_2016/en/debugger//gdb-igfx/info/:/opt/intel/documentation_2016/en/debugger//gdb-ia/info/:/opt/intel/documentation_2016/en/debugger//gdb-mic/info/:/opt/intel/documentation_2016/en/debugger//gdb-igfx/info/
INSTANCE=
TEXTDOMAIN=im-config
XDG_RUNTIME_DIR=/run/user/1000
DISPLAY=:0
XDG_CURRENT_DESKTOP=Unity
GTK_IM_MODULE=ibus
LESSCLOSE=/usr/bin/lesspipe %s %s
G4LIB_USE_ZLIB=1
TEXTDOMAINDIR=/usr/share/locale/
I_MPI_ROOT=/opt/intel/compilers_and_libraries_2016.1.150/linux/mpi
COLORTERM=gnome-terminal
XAUTHORITY=/home/daekyu/.Xauthority
_=/usr/bin/printenv -
Sangwoo회원
올려주신 내용은 잘 봤습니다. 혹시 지금 사용중이신 Python 브릿지 기능은 정상적으로 구동이 되고 있는지 궁금합니다. 왜냐하면 원래 리눅스에서 이 기능을 설정하기 위해서는 LD_LIBRARY_PATH, PYTHONHOME, PYTHONPATH 항목들이 다음과 유사한 방식으로 설정되어 있어야 하는데요.
export PATH=”/home/tech_support/python/anaconda/bin:$PATH”
export PYTHONHOME=”/home/tech_support/python/anaconda”
export PYTHONPATH=”/usr/local/exelis/idl85/bin/bin.linux.x86_64:/usr/local/exelis/idl85/lib/bridges”
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/home/tech_support/python/anaconda/lib:/usr/local/exelis/idl85/bin/bin.linux.x86_64″올려주신 내용상에서는 이와 유사한 부분들이 보이지 않아서 그렇습니다. 사실 위와 같은 셋업이 없으면 Python 브릿지 기능 자체가 정상 구동이 되지 않거든요. 이 부분을 한번 확인해주시면 감사하겠습니다. 전에 올려주셨던 정보들을 보면 아마도 IDL내에서 Python을 불러오는 작업은 정상적으로 구동되는 것처럼 보였는데, 반대로 Python에서 IDL을 불러오는 것도 정상적으로 구동되는지에 대해서도 알려주시면 도움이 될 것 같습니다. 이 부분은 Python내에서 from idlpy import IDL 명령을 실행해보면 확인이 가능합니다.
-
답변 갑사합니다.
우분투 14.04 에서는 따로 path 설정을 해주지 않아도 idl 에서 python이 사용 가능한데
우분투 12.04 에서는 적어주신 path를 설정해 줘야 idl 에서 python 이 사용 가능합니다.또 우분투 14.04 의 경우 아래와 같이 path를 .bashrc에 추가한 뒤
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/lib”
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/home/daekyu/anaconda2/lib”
export LD_LIBRARY_PATH=”$LD_LIBRARY_PATH:/usr/local/exelis/idl85/bin/bin.linux.x86_64″export PYTHONHOME=”/home/daekyu/anaconda2″
export PYTHONPATH=”$PYTHONPATH:/usr/local/exelis/idl85/bin/bin.linux.x86_64″
export PYTHONPATH=”$PYTHONPATH:/usr/local/exelis/idl85/lib/bridges”Python 내에서 from idlpy import IDL 명령어는 별문제 없이 실행되는 것 같습니다.
idl 내에서 python bridge의 다은 명령어들 예를 들어 numpy를 사용한다던가.. 하는 것들은 모두 문제 없이 되는 것 같습니다.
다만 idl 내에서 python bridge 후 ncdf 파일을 열때 튕기는 경우, 이것도 python bridge 를 사용하기 전 idl에서 dlm_load, ‘ncdf’ 사용 후 ncdf 파일을 읽으면 정상 적으로 읽히지만 .FULL_RESET_SESSION을 사용할 경우 또 튕깁니다. (.RESET_SESSION 은 튕기지 않습니다.)
같은 버전의 idl과 anaconda를 사용해 윈도우에서 작업을 할 경우는 문제가 없습니다.
-
Sangwoo회원
올려주신 답변을 보니 PATH 설정의 필요성이 리눅스 버전마다도 또 다른가보군요. 전체적으로 보면 Python 패키지의 버전이라든지, OS의 세부 버전 등에 따라 여러가지 상황들이 나올 수 있는 것 같습니다. 특히나 Python과 리눅스 모두 오픈소스라는 속성을 고려하면, 둘 사이의 조합의 따라 나올 수 있는 상황의 경우의 수가 많은 것으로 보입니다. 지금의 상황은 어쨌든 이런 문제가 발생하기 때문에 나름대로 DLM_LOAD를 사용하셨고, 작업 종료 후 그 DLM들의 흔적을 지우고자 .RESET 대신 .FULL_RESET을 사용하신 것으로 보입니다. 그런데 이 경우에 문제가 발생하는 것을 보면 아마도 Python 기능과 DLM 사이의 뭔가 알 수 없는 충돌이 있는 것이 아닌가 짐작이 됩니다.
말씀드렸듯이, 본사 기술진에 이 문제를 일단 보고를 하였고 아마 이 사람들도 나름대로 원인 파악을 해볼 것으로 예상은 합니다만, 금방 해결이 되진 못할겁니다. 따라서 지난번에 언급하셨던 것처럼, 명령들의 순서를 약간 바꿔서 문제가 발생하지 않도록 하는 방법을 사용해서 작업을 하시길 당분간은 권장드립니다. 이번 이슈는 Python 브릿지 기능이 리눅스에서 어떤가에 대한 참고 자료가 된 것 같아서, 리포트해주신 것에 대해서 굉장히 감사하게 생각하고 있습니다. 이 기능을 가급적 여러 OS에서 테스트해보고는 싶지만 여의치 않을 경우가 많거든요. 하여간 이 문제와 관련하여 뭔가 또 연락이 오면 여기 올리도록 하겠습니다.
-
-
글쓴이글