使用virtualenv进行科学python和机器学习有什么缺点吗?

时间:2013-03-21 06:10:51

标签: python-2.7 virtualenv scientific-computing

我收到了几个使用virtualenv来清理我的python模块的建议。我很担心,因为它看起来好得令人难以置信。在使用多核设置,starcluster,numpy,scikit-learn,pandas或iPython笔记本时,是否有人发现与性能或内存问题相关的缺点。

2 个答案:

答案 0 :(得分:3)

Virtualenv是在依赖关系方面保持某种秩序的最佳和最简单的方法。在处理安装和跟踪模块时,Python确实落后于Ruby(bundler!)。你拥有的最好的工具是virtualenv。

因此,我建议您为每个应用程序创建一个virtualenv目录,将一个文件放在一起,列出构建环境所需的所有“pip install”命令,并确保您有一个干净的可重复过程来创建此环境

我认为应用程序的性质几乎没有区别。应该没有任何性能问题,因为virtualenv所做的就是从特定路径加载库,而不是从默认保存它们的目录中加载它们。

在任何情况下(这可能完全不相关),但如果性能是一个问题,那么也许你应该看一个编译语言。但最有可能的是,通过更好的编码可以改善任何性能瓶颈。

答案 1 :(得分:0)

使用virtualenv没有性能开销。它所做的只是在文件系统中使用不同的位置。

唯一的“开销”是设置它所需的时间。您需要在virtualenv(numpy,pandas等)中安装每个包。