使用 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环境
Windows下使用CGAL-5.3.1(下载安装VS属性表配置)+ 测试代码