2013-07-15 8 views
0

독립 실행 형 프로그램으로 실행되는 스크립트가 있지만 호출 가능 함수로도 사용할 수 있기를 바랍니다. 현재 내가 다른 스크립트에서 실행하려고하면 특정 모듈이 정의/가져 오기되지 않는다는 오류가 발생합니다. 예를 들면 다음과 같습니다 가져온 함수 내에서 가져온 모듈 사용

NameError: global name 'exp' is not defined 

는 오류가 발생 내 코드의 예

from PostREC3 import *   ##import the required functions from the module  

from numpy import array, shape, math, loadtxt, log10, vstack, arange 
from scipy.integrate import quad  
from pylab import all     
from numpy import pi as pi   
from assimulo.solvers.sundials import IDA 
from assimulo.problem import Implicit_Problem 
from math import exp, log10, fabs, atan, log 
import pickle 
import sys 

results = PostREC(2,100,90,1.0,1, 1,"0",2) #run an imported function 

출력 :

NameError: global name 'exp' is not defined 

내가 그러나, 함수 자체 내에서 경험치를 가져 오는 시도했습니다 아무것도 바뀌지 않습니다. 내가 아는 한, 함수를 사용하기 전에 함수를 가져온 한 다른 함수가 사용할 수 있어야합니다. 그래서, 내가하고있는 일에 어떤 문제가 있습니까? 아니면 코드 자체 내에서 또 다른 오류를 지적합니까?

O/S : 우분투 12.10 파이썬 2.7 64 비트

+1

* 완전한 * 추적 및'PostREC.PostREC' 정의를 보여주십시오. 임포트 된 함수는 원래 모듈을 전역 이름 공간으로 사용합니다. –

답변

1

가져 오기 특급 당신이 당신의 PostREC3 모듈의 상단에 필요한 다른 모듈/기능, 특정 기능을 이내에서하지.

수입이 "글로벌"이 아니므로 각 모듈은 이미 다른 모듈이 이미 실행 한 경우에도 실행에 필요한 모든 것을 가져와야합니다.

관련 문제