Jython没有名为random的模块

时间:2013-07-13 18:41:02

标签: java python module pydev jython

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

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

当服务器加载并调用脚本时,我收到一个导入错误,说没有名为“random”的模块。我调用Jython / Python中的模块并不重要,除了sys和java类之外什么都不会。

然后我开始打开PyDev控制台并试图查看我是否能够随机导入。它很成功。

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

1 个答案:

答案 0 :(得分:2)

尝试进入PyDev:

import sys
print sys.path

然后将相同的内容添加到您的脚本中 - 在问题出现之前将两者进行比较,如果它们在两种情况下相同,则在本地计算机上搜索两者的元素以及运行服务器的元素。