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

Ed *_*ine 5 scientific-computing virtualenv python-2.7

我收到了一些使用 virtualenv 清理我的 python 模块的建议。我很担心,因为这似乎好得令人难以置信。有没有人发现在使用多核设置、starcluster、numpy、scikit-learn、pandas 或 iPython notebook 时与性能或内存问题相关的缺点。

Dim*_*ris 3

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

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

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

无论如何(这可能完全无关),但如果性能是一个问题,那么也许您应该考虑编译语言。但最有可能的是,任何性能瓶颈都可以通过更好的编码来改善。