IPython 병렬 도구를 실험하고 있는데 문제가 있습니다. 다음 코드는 잘 실행ipython 병렬로 파이썬 이름 공간 문제가 발생했습니다.
ipcluster start -n 3
: 나는 내 파이썬 엔진을 시작
from IPython.parallel import Client
def dop(x):
rc = Client()
dview = rc[:]
dview.block=True
dview.execute('a = 5')
dview['b'] = 10
ack = dview.apply(lambda x: a+b+x, x)
return ack
ack = dop(27)
print ack
반환 [42, 42, 42] 예상대로입니다. dop.py : 내가 다른 파일에 코드를 중단한다면
from IPython.parallel import Client
def dop(x):
rc = Client()
dview = rc[:]
dview.block=True
dview.execute('a = 5')
dview['b'] = 10
print dview['a']
ack = dview.apply(lambda x: a+b+x, x)
return ack
을 시도 다음
[0:apply]: NameError: global name 'a' is not defined
[1:apply]: NameError: global name 'a' is not defined
[2:apply]: NameError: global name 'a' is not defined
I 돈 :
from dop import dop
ack = dop(27)
print ack
나는 각 엔진에서 오류가 발생할 수 왜 그 기능을 다른 파일에 넣고 가져올 수 없습니까?