2017-06-01 62 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。