java - Jython 没有名为 random 的模块

标签 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 中存在的哪个模块,它都不会异常(exception),除了 sys 和 java 类。

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

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

最佳答案

尝试在 PyDev 中输入:

import sys
print sys.path

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

关于java - Jython 没有名为 random 的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17633136/

相关文章:

Ruby 设计模式问题 - 类/模块继承

module - 如何在不引用绝对路径的情况下引用 Play Framework 第三方模块?

python模块__init__函数

java - 加快 Java 版 WordNet 词形还原器的使用速度

java - 使用单选按钮更改 JLabel 的字体时遇到问题

Java 编译器认为 byte[] 是 String

Python BeautifulSoup 使用标签外的文本并将其存储为变量

python - 使用多个不同长度和多个特征的时间序列时,如何为 LSTM 准备数据?

python - Pandas - 改变数据框的形状

JAVAFX/WebView/WebEngine FireBugLite 或其他一些调试器?