2013-07-13 39 views
0

我正在使用Java构建的服务器上工作。在某些时间点(例如有人点击游戏中的某个对象),服务器将加载使用Jython制作的脚本。我无法使脚本正常工作,主要是因为随机导入模块。下面是该脚本:Jython没有名为random的模块

from resources.common import RadialOptions 

import sys 
import random 

def createRadial(core, owner, target, radials): 

radials.add(RadialOptions(0, 21, 1, '')) #Use 
radials.add(RadialOptions(0, RadialOptions.diceRoll, 3, '@dice/dice:dice_roll_single')) 

return 

def handleSelection(core, owner, target, option): 
    if option == RadialOptions.diceRoll or 21: 
    stringOptions = ['red', 'blue'] 
    owner.sendSystemMessage('Your chance cube rolled the color ' + random.choice(stringOptions) , 0) 
return 

当服务器装起来和脚本被调用时,我收到一个导入错误说没有名为“随机”模块。不管我在Jython/Python中存在哪个模块,除了sys和java类之外,它不会有任何其他模块。

然后我继续打开一个PyDev控制台并试图查看我是否能够导入随机。它成功了。

PyDev控制台如何让我导入随机或任何其他模块,而不是在它调用脚本时的服务器?

回答

2

尝试PyDev的进入:

import sys 
print sys.path 

然后添加相同的,以你的脚本 - 这个问题前,两者进行比较,如果它们是相同的在这两种情况下同时搜索的随机元素在本地机器和你的服务器运行的机器。

+0

这个伎俩!看起来sys.path是在NGECore2 \ lib \ Lib中,它甚至不存在。我只是继续前进,并添加了random.py,它现在都在工作。谢谢! – Waverunner