导入OrbitalPy时出现_cext模块缺失错误求助
解决OrbitalPy运行时kiwisolver的DLL加载失败问题
问题重现
运行OrbitalPy官方示例代码时触发kiwisolver的_cext模块DLL加载失败,报错信息如下:
C:\Users\xxx\Desktop>py molniya.py Traceback (most recent call last): File "C:\Users\xxx\Desktop\molniya.py", line 4, in <module> from orbital import earth, KeplerianElements, Maneuver, plot, plot3d File "C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\orbital\__init__.py", line 8, in <module> from .plotting import * File "C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\orbital\plotting.py", line 9, in <module> import matplotlib as mpl File "C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\matplotlib\__init__.py", line 246, in <module> _check_versions() File "C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\matplotlib\__init__.py", line 240, in _check_versions module = importlib.import_module(modname) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\importlib\__init__.py", line 126, in import_module return _bootstrap._gcd_import(name[level:], package, level) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\kiwisolver\__init__.py", line 8, in <module> from ._cext import ( ImportError: DLL load failed while importing _cext: The specified module could not be found.
使用的示例代码:
from numpy import radians from scipy.constants import kilo from orbital import earth, KeplerianElements, Maneuver, plot, plot3d from orbital import earth_sidereal_day molniya = KeplerianElements.with_period( earth_sidereal_day / 2, e=0.741, i=radians(63.4), arg_pe=radians(270), body=earth) plot3d(molniya)
解决方案
按顺序尝试以下步骤:
安装兼容版本的kiwisolver
卸载当前版本,安装适配Python3.11的指定版本:pip uninstall kiwisolver -y pip install kiwisolver==1.4.4安装微软VC++运行库
系统缺失VC++ Redistributable是DLL加载失败的常见原因,下载对应系统位数(x64/x86)的最新VC++运行库安装包,安装后重启电脑。使用conda创建隔离环境
若使用conda,通过新环境避免依赖冲突:conda create -n orbital_env python=3.10 -y conda activate orbital_env pip install orbitalpy在此环境中运行示例代码,依赖会自动适配版本。
检查并添加PATH环境变量
将Python的Scripts目录和kiwisolver所在目录添加到系统PATH:- 路径示例:
C:\Users\xxx\AppData\Local\Programs\Python\Python311\Scripts - 路径示例:
C:\Users\xxx\AppData\Local\Programs\Python\Python311\Lib\site-packages\kiwisolver
添加后重启终端再运行代码。
- 路径示例:
内容的提问来源于stack exchange,提问作者EarthAndMoon
相关产品推荐
相关产品推荐

