使用 virtualenv 在集群(Compute Canada)上安装 Numba
Installing Numba on a Cluster (Compute Canada) using virtualenv
我正在尝试在集群上安装 Numba,这样我就可以在上面 运行 我的 Jitted python 代码。但是,当我尝试导入 Numba 时,我一直 运行ning 出现“libllvmlite.so”错误。这是使用 virtualenv 在 Cedar 集群上完成的。 Numba 是使用 pip 安装的(也尝试过 pip3)。
我开始使用(...是我的环境文件夹的目录)激活我的环境:
source ~/.../ENV/bin/activate
。
然后我使用 pip 安装 Numba(我也尝试过使用 pip uninstall 删除并重新安装 Numba)。
但是,当我在我的环境中加载 Python 3.7.0 时,每当我尝试导入 Numba 时都会收到错误消息。
我使用 pip show 检查版本:Python 3.7.0,Numba 0.53.1,llvmlite 0.36.0。
这是我的终端的输出:
(ENV) [04:12:46] patrick7@cedar1 > [~/projects/def-mann/patrick7/diffusioncluster]python
Python 3.7.0 (default, Sep 25 2018, 18:19:16)
[GCC 5.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numba
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/numba/__init__.py", line 19, in <module>
from numba.core import config
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/numba/core/config.py", line 16, in <module>
import llvmlite.binding as ll
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/llvmlite/binding/__init__.py", line 4, in <module>
from .dylib import *
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/llvmlite/binding/dylib.py", line 3, in <module>
from llvmlite.binding import ffi
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/llvmlite/binding/ffi.py", line 191, in <module>
raise OSError("Could not load shared object file: {}".format(_lib_name))
OSError: Could not load shared object file: libllvmlite.so
我尝试了网上找到的其他解决方案(重新安装,尝试不同版本...),目前 none 有效。任何帮助将不胜感激!谢谢!
我找到了解决问题的方法。
我尝试过但没有奏效的方法:
- 手动使用 pip 安装 llvmlite
- 降级到 Numba 版本 0.43,因为它是与 Python 3.7
兼容的最旧版本
- 将 Pip 升级到最新版本后卸载(llvmlite numpy 和 numba)并重新安装 Numba(自动安装它的依赖项)
有效的方法:
- 正在将 Python 从 3.7.0 升级到 3.7.10
似乎 Python 版本 >= 3.7.3,默认命令 pip install numba
完美运行!
感谢阅读!
我正在尝试在集群上安装 Numba,这样我就可以在上面 运行 我的 Jitted python 代码。但是,当我尝试导入 Numba 时,我一直 运行ning 出现“libllvmlite.so”错误。这是使用 virtualenv 在 Cedar 集群上完成的。 Numba 是使用 pip 安装的(也尝试过 pip3)。
我开始使用(...是我的环境文件夹的目录)激活我的环境:
source ~/.../ENV/bin/activate
。
然后我使用 pip 安装 Numba(我也尝试过使用 pip uninstall 删除并重新安装 Numba)。
但是,当我在我的环境中加载 Python 3.7.0 时,每当我尝试导入 Numba 时都会收到错误消息。
我使用 pip show 检查版本:Python 3.7.0,Numba 0.53.1,llvmlite 0.36.0。
这是我的终端的输出:
(ENV) [04:12:46] patrick7@cedar1 > [~/projects/def-mann/patrick7/diffusioncluster]python
Python 3.7.0 (default, Sep 25 2018, 18:19:16)
[GCC 5.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numba
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/numba/__init__.py", line 19, in <module>
from numba.core import config
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/numba/core/config.py", line 16, in <module>
import llvmlite.binding as ll
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/llvmlite/binding/__init__.py", line 4, in <module>
from .dylib import *
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/llvmlite/binding/dylib.py", line 3, in <module>
from llvmlite.binding import ffi
File "/home/patrick7/projects/def-mann/patrick7/diffusioncluster/ENV/lib/python3.7/site-packages/llvmlite/binding/ffi.py", line 191, in <module>
raise OSError("Could not load shared object file: {}".format(_lib_name))
OSError: Could not load shared object file: libllvmlite.so
我尝试了网上找到的其他解决方案(重新安装,尝试不同版本...),目前 none 有效。任何帮助将不胜感激!谢谢!
我找到了解决问题的方法。
我尝试过但没有奏效的方法:
- 手动使用 pip 安装 llvmlite
- 降级到 Numba 版本 0.43,因为它是与 Python 3.7 兼容的最旧版本
- 将 Pip 升级到最新版本后卸载(llvmlite numpy 和 numba)并重新安装 Numba(自动安装它的依赖项)
有效的方法:
- 正在将 Python 从 3.7.0 升级到 3.7.10
似乎 Python 版本 >= 3.7.3,默认命令 pip install numba
完美运行!
感谢阅读!