我通过命令提示符中的 easy_install.exe 下载了 spacepy,并且此代码不会引发错误:
import spacepy.coordinates as coord
from spacepy.time import Ticktock
import numpy as np
def geotomag(alt,lat,lon):
#call with altitude in kilometers and lat/lon in degrees
Re=6371.0 #mean Earth radius in kilometers
#setup the geographic coordinate object with altitude in earth radii
cvals = coord.Coords([np.float((alt/Re+Re))/Re,np.float(lat),np.float(lon)], 'GEO', 'sph',['Re','deg','deg'])
#set time epoch for coordinates:
cvals.ticks=Ticktock(['2012-01-01T12:00:00'], 'ISO')
#return the magnetic coords in the same units as the geographic:
return cvals.convert('MAG','sph')
但是,当我尝试调用该函数时,它给出“ImportError:无法导入名称 irbempylib”。
Irbempylib 应该包含在 spacepy 中,如帮助文档所示:
PACKAGE CONTENTS
LANLstar
coordinates
data_assimilation
datamodel
empiricals
irbempy (package)
lib
omni
plot (package)
poppy
pybats (package)
pycdf (package)
radbelt
rst
seapy
spacepy_EnKF
time
toolbox (package)
有什么想法吗?
最佳答案
我也遇到过这个问题。我认为这与特定版本的 SpacePy 缺少 irbempylib 源文件有关。
为了解决这个问题,我从 Python 安装的“site-packages”文件夹中删除了对 SpacePy(文件和文件夹)的所有引用。然后使用 Pip 全新安装 SpacePy:pip install spacepy
。这下载并安装了 SpacePy 版本 0.1.5。
重新运行你的 Python 代码,它应该可以工作(对我来说就是这样!)
关于python - 空间Py : "ImportError: cannot import name irbempylib",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29046326/