已通过pip/conda安装einsteinpy,仍报ModuleNotFoundError:找不到einsteinpy.geodesic
解决EinsteinPy模块导入错误:ModuleNotFoundError: No module named 'einsteinpy.geodesic'
问题原因
你遇到的错误源于EinsteinPy的模块结构在新版本中发生了变更——你的代码基于旧版本(如0.4.x及更早)的模块路径编写,但当前安装的是新版本EinsteinPy,导致指定模块路径无法被识别。
解决方案
方案1:安装匹配代码的旧版本
若想继续使用现有代码无需修改,可安装0.4.x版本的EinsteinPy:
- pip安装命令:
pip install einsteinpy==0.4.0 - conda安装命令:
conda install einsteinpy=0.4.0 -c conda-forge
方案2:修改代码适配新版本
若要使用最新版EinsteinPy,需调整导入语句匹配新的模块结构:
修改后的代码示例:
import numpy as np from einsteinpy.geodesics import Timelike # 注意此处为复数形式 geodesics from einsteinpy.plotting.geodesics import StaticGeodesicPlotter position = [4, np.pi / 3, 0.] momentum = [0., 0.767851, 2.] a = 0.99 steps = 400. delta = 0.5
额外检查
可先查看当前安装的EinsteinPy版本,确认版本是否匹配:
# pip环境 pip show einsteinpy # conda环境 conda list einsteinpy
内容的提问来源于stack exchange,提问作者meow007
相关产品推荐
相关产品推荐

