2013-08-29 39 views
0

我有一個Python程序,工作得很好。當我在傳遞我的程序到另一臺機器,並嘗試在運行它,我得到以下錯誤信息:將Python代碼傳輸到另一臺機器 - 停止工作

Traceback (most recent call last): 
    File "program1.py", line 3, in <module> 
    import scipy.spatial as sp 
    File "/usr/lib/python2.6/dist-packages/scipy/spatial/__init__.py", line 7, in <module> 
    from ckdtree import * 
    File "numpy.pxd", line 30, in scipy.spatial.ckdtree (scipy/spatial/ckdtree.c:6087) 
ValueError: numpy.dtype does not appear to be the correct type object 

這只是安裝什麼正確的模塊,像這樣沒有新機的結果?

謝謝!其運行的代碼


計算機: - 2.7.3 numpy的 - 1.7.1 SciPy的 - 的Python 0.12.0

計算機產生上述錯誤信息: 的Python - 2.6.5 Numpy - 1.5.1 Scipy - 0.7.0

當然理想情況下它們是相同的,但我不能真正改變第二臺機器上的版本。是否有可能確定哪個版本導致問題?

+6

的其餘部分是否新機具有相同的模塊?相同的版本?這不是人們可以告訴你的東西!它甚至有相同版本的Python嗎? – Ben

+0

我不確定。我可以繼續前進並找出所有這些事情(我現在無法做到),但我認爲理解錯誤信息的人能夠告訴我這是否是一種性質問題(或如果我現在只是在我的代碼中有錯誤的路徑,我已經將它移動或者具有這種性質)。 – user1551817

+1

當然你可以,如果你可以打開Python解釋器,它會告訴你你正在使用什麼版本的Python。然後,如果你輸入numpy,在解釋器中鍵入'numpy.version'會告訴你你正在使用哪個版本的numpy。在兩臺機器上都這樣做,因爲你的問題似乎在scipy中也是值得檢查的。 – Ben

回答

1

要知道錯誤來自哪裏,請使用第一臺機器降級,numpy,scipy和python。嘗試不同的組合以重現相同的錯誤。

我建議您的開發機器上具有與您需要它部署的機器上相同的版本。這樣你就不會有類似的問題。

您可能需要使用PIP和的virtualenv所以這個項目的配置將不會影響您的設置

1

我以前有過類似的問題。用virtualenv搞亂了,並得到了類似於你的錯誤。最有可能是因爲版本。有些模塊可能會發生衝突。

相關問題