2013-07-13 49 views
0

我正在使用Java構建的服務器上工作。在某些時間點(例如有人點擊遊戲中的某個對象),服務器將加載使用Jython製作的腳本。我無法使腳本正常工作,主要是因爲隨機導入模塊。下面是該腳本:Jython沒有名爲random的模塊

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 

當服務器裝起來和腳本被調用時,我收到一個導入錯誤說沒有名爲「隨機」模塊。不管我在Jython/Python中存在哪個模塊,除了sys和java類之外,它不會有任何其他模塊。

然後我繼續打開一個PyDev控制檯並試圖查看我是否能夠導入隨機。它成功了。

PyDev控制檯如何讓我導入隨機或任何其他模塊,而不是在它調用腳本時的服務器?

回答

2

嘗試PyDev的進入:

import sys 
print sys.path 

然後添加相同的,以你的腳本 - 這個問題前,兩者進行比較,如果它們是相同的在這兩種情況下同時搜索的隨機元素在本地機器和你的服務器運行的機器。

+0

這個伎倆!看起來sys.path是在NGECore2 \ lib \ Lib中,它甚至不存在。我只是繼續前進,並添加了random.py,它現在都在工作。謝謝! – Waverunner