使用 conda 成功安装 cgal 后出现 ModuleNotFound 错误?

Posted

技术标签:

【中文标题】使用 conda 成功安装 cgal 后出现 ModuleNotFound 错误?【英文标题】:ModuleNotFound error after sucessfully install cgal using conda? 【发布时间】:2020-03-26 08:00:48 【问题描述】:

我使用 conda 在 windows 中安装了 CGAL: https://anaconda.org/conda-forge/cgal 但是在导入模块时会出错。

>>> import CGAL
>>> print(CGAL.__version__)
4.14.0
>>> import CGAL.CGAL_AABB_tree
Traceback (most recent call last):
  File "C:\Users\Ibrahim Khalilullah\.conda\envs\CGALCONDA\lib\site-packages\CGAL\CGAL_AABB_tree.py", line 14, in swig_import_helper
    return importlib.import_module(mname)
  File "C:\Users\Ibrahim Khalilullah\.conda\envs\CGALCONDA\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 994, in _gcd_import
  File "<frozen importlib._bootstrap>", line 971, in _find_and_load
  File "<frozen importlib._bootstrap>", line 955, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 658, in _load_unlocked
  File "<frozen importlib._bootstrap>", line 571, in module_from_spec
  File "<frozen importlib._bootstrap_external>", line 922, in create_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
ImportError: DLL load failed: The specified module could not be found.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Users\Ibrahim Khalilullah\.conda\envs\CGALCONDA\lib\site-packages\CGAL\CGAL_AABB_tree.py", line 17, in <module>
    _CGAL_AABB_tree = swig_import_helper()
  File "C:\Users\Ibrahim Khalilullah\.conda\envs\CGALCONDA\lib\site-packages\CGAL\CGAL_AABB_tree.py", line 16, in swig_import_helper
    return importlib.import_module('_CGAL_AABB_tree')
  File "C:\Users\Ibrahim Khalilullah\.conda\envs\CGALCONDA\lib\importlib\__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
ModuleNotFoundError: No module named '_CGAL_AABB_tree'

【问题讨论】:

你能编辑你的问题并添加conda list -n CGALCONDA cgal的输出吗? 【参考方案1】:

问题不是ModuleNotFoundError,而是底层ImportError: DLL load failed:。查看您的错误消息,您可以看到您的 python 确实成功地找到了您尝试导入的内容

C:\Users\Ibrahim Khalilullah\.conda\envs\CGALCONDA\lib\site-packages\CGAL\CGAL_AABB_tree.py

但无法加载依赖的 DLL。

我已经复制了您的问题。它似乎只影响 conda forge 中最新的 cgal,即 4.14 当您安装 4.13 版本时一切正常,所以只需这样做:

conda remove cgal
conda install -c conda-forge cgal==4.13

我在 conda-forge feedstock 上创建了一个问题

【讨论】:

以上是关于使用 conda 成功安装 cgal 后出现 ModuleNotFound 错误?的主要内容,如果未能解决你的问题,请参考以下文章

安装conda后取消命令行前出现的base,取消每次启动自动激活conda的基础环境, 使用ubuntu 自带的Python环境

conda 迁移环境

Windows下使用CGAL-5.3.1(下载安装VS属性表配置)+ 测试代码

怎么看pytorch库下没下好

最简易且成功率较高使用conda创建虚拟环境并使用requirements.txt配置环境

Ubuntu16上安装CGAL