小编Dun*_*can的帖子

为什么在新的 virtualenv 中导入 numpy 需要 5 秒?

背景

你好。我们编写的 Python 代码在我们无法控制的服务器上运行。我们不太了解代码运行的环境。如果我们的代码运行时间超过 3 秒,就会被拒绝。因此,我决定开始使用虚拟环境对我们的代码进行计时,以给出最坏情况下的运行时间估计。

问题

我惊讶地发现,在一个全新的虚拟环境中,仅仅导入 numpy 就需要 5 秒。有人可以解释为什么会这样吗?有什么技巧可以加快速度吗?对于一个基本的库来说,这么慢似乎令人望而却步。

重现步骤:

  1. rm -r /tmp/env
  2. virtualenv /tmp/env
  3. /tmp/env/bin/pip install numpy
  4. time /tmp/env/bin/python3 -c 'import numpy'

在我的高端笔记本电脑上它又回来了

  real  0m5.534s
  user  0m0.612s
  sys   0m0.133s
Run Code Online (Sandbox Code Playgroud)

请注意,由于我不清楚的原因,如果重复步骤#4而不返回步骤#1,时间会明显减少。即使你find /tmp -type d -name '__pycache__' -exec rm -r {} \;先跑步,这种情况仍然存在。一定是我不知道的其他类型的模块缓存?无论如何,这对我的目的来说并不重要,因为我无法控制远程服务器的缓存状态。

python numpy virtualenv

6
推荐指数
1
解决办法
903
查看次数

标签 统计

numpy ×1

python ×1

virtualenv ×1