Jython: NameError: глобальное имя не определено - PullRequest
0 голосов
/ 20 марта 2019

Я использую Jython для написания кода (Hyperion FDMEE / Essbase), в котором внешние библиотеки явно импортируются в функцию

#FN_RETRIEVE
import os
import sys
sys.path.append("D:\\EssbaseJavaAPI\\11.1.2.0\\lib\\ess_japi.jar")
def RETRIEVE(fdmAPI, fdmContext, grid_typ):
        ## Import libraries
        from com.essbase.api.session import *
        from com.essbase.api.domain import *
        from java.lang.Object import *
        from com.essbase.api.base import *
        from com.essbase.api.datasource import *
        from com.essbase.api.dataquery import *
        from com.essbase.api.metadata import *
        from com.essbase.api.domain import *
        from com.essbase.api.session.IEssbase import *
        from com.essbase.api.domain.IEssDomain import *
        from array import *


        config = ConfigParser.ConfigParser()
        config.read("D:/somepath/config.ini")


        # Create JAPI instance.
        ess = IEssbase.Home.create(IEssbase.JAPI_VERSION) …….

Теперь я пытаюсь вызвать эту функцию в другом скрипте следующим образом

import FN_RETRIEVE
reload(FN_RETRIEVE)

retr1 = FN_RETRIEVE.RETRIEVE(fdmAPI, fdmContext, "another param")

Но я получаю следующую ошибку,

ess = IEssbase.Home.create(IEssbase.JAPI_VERSION) NameError: global name 'IEssbase' is not defined

Вероятно, это должно что-то делать с прицелом, но мне нужна помощь, чего мне не хватает.

Спасибо, Dev

...