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

最佳答案

尝试在PyDev中输入:

import sys
print sys.path


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

10-08 03:11