Я использую Tkinter
в Python для обработки SpirentTestCenter
API с кодом Tcl
.Я случайно использую pandas
, и при совместном использовании я сталкиваюсь с проблемой загрузки библиотеки.
import os
sStcVersion='4.73'
sStdPath = '/repo/dinesh/MY_PACKAGES/STC/'+sStcVersion
import pandas as pd
import Tkinter
tcl = Tkinter.Tcl()
tcl.eval('puts $::env(LD_LIBRARY_PATH)')
tcl.eval('source '+'/repo/dinesh/MY_PACKAGES/STC/'+sStcVersion+'/pkgIndex.tcl')
tcl.eval('package require SpirentTestCenter 4.73')
>>> Error Occured while loading the Spirent Automation Internal Utility Library (couldn't load file "/repo/MY_PACKAGES/STC/4.73/libsTcl.so":
/repo/dinesh/MY_PACKAGES/robot/PACKAGES/lib_for_64bit_compat/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /repo/MY_PACKAGES/STC/4.73/libsTcl.so)).
Требуемый libstdc++.so.6
находится в том же каталоге, что и libsTcl.so
(то есть / repo/MY_PACKAGES/STC/4.73/).Но он берет libstdc++.so.6
из другого каталога, который доступен в LD_LIBRARY_PATH
.Я попытался изменить LD_LIBRARY_PATH
, но все же он берет его из неправильного каталога.
Если я не импортирую модуль pandas
, эта проблема не видна.Кажется, что libstdc++.so.6
уже загружен пандами из /repo/dinesh/MY_PACKAGES/robot/PACKAGES/lib_for_64bit_compat/libstdc++.so.6
.
Как я могу заставить python взять libstdc++.so.6
из предпочтительного каталога?