【问题标题】:Speedup virtualenv creation with numpy and pandas使用 numpy 和 pandas 加速 virtualenv 创建
【发布时间】:2013-08-06 16:28:00
【问题描述】:

我在一台机器上有多个 virtualenvs,但它们都需要 numpy 和 pandas。我想为每个 virtualenv 分别创建副本,但是创建这些 virtualenvs 需要相当长的时间。是否有一些定义明确的方法可以在我的机器上预编译 numpy 和 pandas 一次,然后执行以下操作:

pip install my_precompiled_numpy 

【问题讨论】:

    标签: python numpy pandas virtualenv pip


    【解决方案1】:

    您可以使用wheel 包。我们在pandas 为我们的持续集成构建完成了这项工作,这样我们基本上可以非常快速地下载和安装它们。

    看看ci/speedpack/build.sh。这个脚本本质上构建了一堆我们用于 CI 的轮子(包括 numpy 和 scipy)。它们实际上存储在服务器上,然后在 travis-ci 运行时从那里提取。

    查看ci/install.sh 以了解安装过程是如何工作的。

    在您的情况下,服务器可能有点矫枉过正,但您可以设置本地存储库并从那里安装轮子。

    【讨论】:

    • 轮子在没有开发库的情况下可以工作吗?它一直在说ImportError: /local/lib/python2.7/site-packages/numpy/linalg/lapack_lite.so: undefined symbol: dpotrf_。您在 CI 服务器上安装了哪些库以使 numpy Wheel 工作?
    • 我注意到您使用 Cython 从源代码安装 numpy。为什么?
    • 我们从源代码安装,以便我们可以针对多个版本的 numpy 和其他库进行测试。这是我们在不依赖包管理器的情况下加速 CI 迭代的最简单方法(即使我们最终以这种方式安装 lapack,我不确定 Ubuntu 是否跟踪多个版本的 numpy 等)。我们只从源构建一次,以便我们可以通过轮子重用包。
    【解决方案2】:

    老问题,但我想我可以添加一些最近的见解。我在同一个项目上同时在 OSX 和 Windows 上工作。在尝试为 numpy 等进行二进制安装时,我在 Windows 端遇到了许多延迟(主要是获取正确的文件等)。最近已切换到使用 Anaconda Distribution,它在简化生活方面做得很好。它有自己独特的虚拟环境风格,大大简化了生活。

    http://continuum.io/

    【讨论】:

      猜你喜欢
      • 2018-07-29
      • 2015-07-28
      • 2015-12-16
      • 2021-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-05-19
      • 2013-01-21
      相关资源
      最近更新 更多