0

我正在使用由 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 控制台会在调用脚本时让我导入 random 或任何其他模块,而不是服务器?

4

1 回答 1

2

尝试在 PyDev 中输入:

import sys
print sys.path

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

于 2013-07-13T19:09:47.570 回答