我试图使用skyfield,我得到了这样的错误:"ModuleNotFoundError:没有名为‘jplephem.pck’的模块“我在第一行得到了这个错误,它是这样的:
---------------------------------------------------------------------------
ModuleNotFoundError Traceback (most recent call last)
<ipython-input-6-3a2b53f77cba> in <module>
----> 1 from skyfield.api import load
2
3 planets = load('de421.bsp')
4 earth, mars = planets['earth'], planets['mars']
5
~\Anaconda3\lib\site-packages\skyfield\api.py in <module>
12 from .errors import DeprecationError
13 from .iokit import Loader, load_file
---> 14 from .planetarylib import PlanetaryConstants
15 from .positionlib import position_from_radec
16 from .starlib import Star
~\Anaconda3\lib\site-packages\skyfield\planetarylib.py in <module>
3 import re
4 from numpy import array, cos, einsum, nan, rollaxis, sin
----> 5 from jplephem.pck import DAF, PCK
6 from .constants import ASEC2RAD, AU_KM, DAY_S, tau
7 from .functions import rot_x, rot_y, rot_z
ModuleNotFoundError: No module named 'jplephem.pck'我试着在网上查找它,它说它是一个依赖项,我不知道如何调试它
from skyfield.api import load
planets = load('de421.bsp')
earth, mars = planets['earth'], planets['mars']
ts = load.timescale()
t = ts.now()
position = earth.at(t).observe(mars)
ra, dec, distance = position.radec()
print(ra)
print(dec)
print(distance)任何形式的帮助都将不胜感激
发布于 2020-01-06 07:33:55
你是通过pip install skyfield还是通过其他机制安装Skyfield的?当前版本的Skyfield有一个setup.py,它坚持使用最新版本的jplephem,因为只有比2.11更新的版本才会有Skyfield需要的pck模块。pip安装工具应该已经检测到了这一点,但是如果它没有检测到,那么执行pip install -U jplephem来强制更新jplephem应该会让您再次工作!
解决方法
如果您使用的是conda,您将安装一个旧版本。尝试:
conda uninstall jplephem
pip install -U jplephem真实解决方案
对于conda人员来说,长期的解决方案是让他们的这个库的打包再次工作。拉取请求的列表看起来像是在构建和分发最新的包时遇到了反复的失败:

但最近的公关是手写的,需要版主的关注,所以希望事情能得到解决。
https://stackoverflow.com/questions/59563016
复制相似问题