我正在使用由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控制台会让我在调用脚本时导入随机或任何其他模块,而不是服务器?
答案 0 :(得分:2)
尝试进入PyDev:
import sys
print sys.path
然后将相同的内容添加到您的脚本中 - 在问题出现之前将两者进行比较,如果它们在两种情况下相同,则在本地计算机上搜索两者的元素以及运行服务器的元素。