2017-06-01 54 views
1

我的情況:單模塊到Python項目

需要解決.zip文件上傳至某些服務器在我的solution.py文件被執行。但是,我需要從包空間使用scipy方法,這在服務器上不可用。

簡單附上整個scipy lib? - 不,我不能這樣做,它不適合.zip文件大小的規定,但是,如果我只從scipy上傳空間包(不使用任何其他),一切都會適合(大小)。

可能嗎?

因爲當簡單地將空間包粘貼到我的項目文件夾(來自github回購的文件)時,它不起作用,因爲像'Couldn't find foofile'這樣的錯誤主要在導入指令中。

謝謝,任何幫助讚賞

+0

這可能是一個壞主意,因爲你需要讓你獲得所有的依賴關係。目前還不清楚,你需要哪一部分空間,也許一個簡單的功能複製粘貼就足夠了。除此之外,這是允許你的任務嗎? – sascha

+0

許多'scipy.spatial'都是用C++,C和Cython編寫的,所以你絕對不能通過從github倉庫複製文件來安裝它。 –

回答

0

要找到一個原因這不起作用,你可以從第(i)python的命令行

from scipy import spatial 
import inspect 
inspect.getsourcelines(spatial) 

在註釋文本做,你可以看到幾個進口。如果你也期待在第一次那些,

inspect.getsourcelines(spatial.kdtree) 

還有另外一個進口線

import scipy.sparse 

這僅僅是我發現的第一個例子中,有肯定有更多的依賴關係和scipy.spatial韓元」如果您無法訪問它們,則按原樣工作。還要注意,numpy是導入的,如果你的服務器沒有scipy,它可能也沒有numpy。

我的建議是複製/重寫您需要的scipy代碼(如果允許的話),不用scipy編寫代碼或要求服務器管理員允許更大的文件或安裝scipy。