- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我尝试使用 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)
任何形式的帮助将不胜感激
最佳答案
您是使用pip install skyfield
安装Skyfield的,还是通过其他机制安装的?当前版本的 Skyfield 有一个 setup.py
,它坚持使用最新版本的 jplephem
,因为只有比 2.11 更新的版本才会具有 pck
模块Skyfield 需要的。 pip
安装工具应该检测到这一点,但如果没有检测到,则执行 pip install -U jplephem
强制更新 jplephem
应该会得到你又来了!
解决方法
如果您使用的是 conda
,您将安装旧版本。尝试:
conda uninstall jplephem
pip install -U jplephem
真正的解决方案
长期的解决方案是 conda 人员让这个库的打包再次工作。该库的“原料”上的拉取请求列表看起来在构建和分发最新包时遇到了多次失败:
但是最近的 PR 是手写的,并请求版主关注,所以希望问题能够得到解决。
关于python - 尝试使用 skyfield 时出现错误 "no module named jplephem.pck",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59563016/
我正在尝试使用 Skyfield 绘制从地球到太阳系行星的 au 距离作为时间的函数。这非常简单,甚至在包主页的首页给出了。然而,虽然这对水星、金星和火星非常有效,但对其他行星却不起作用。我不熟悉 J
以下示例脚本使用 PyEphem 和 Skyfield 计算 2016 年 7 月 23 日 00:00:00 GMT 的太阳赤纬: import ephem sun1 = ephem.Sun('20
更新:Skyfield 刚刚进行了重大修订,包括扩展文档和角度分离方法 - 请参阅已接受的答案。 我正在使用 Skyfield 计算两个对象之间的表观角距.我没有在包中找到方法,所以我通过计算两个表观
使用 Python-Skyfield 计算即将到来的木星和土星合相。 Wikipedia Great conjunction times (1800 to 2100) 使用赤经: 2020 年 12
使用 Skyfield 映射从地球中心到各种 (lat, lon) 位置的距离显示随纬度变化但与经度无关(亚毫米)。这可能是包中记录的近似值、我的脚本中的错误,或者其他的东西。我在这里做错了什么吗?
似乎完成传播地球卫星/天体任务的 Python 工具的前景令人困惑。根据您尝试执行的操作,PyEphem 或 Python-SGP4 可能更合适。如果出现以下情况,我应该使用哪些: 我想要地球卫星的
我已经在 python 中使用 Skyfield 实现了 sgp4 算法。 我需要 1 天时间间隔的位置向量,周期为 1 秒。为此,我必须反复计算 sgp4,每次增加 1 秒。 有没有办法返回一个包含
我尝试使用 skyfield 时收到以下错误:“ModuleNotFoundError:没有名为‘jplephem.pck’的模块”我在第一行本身出现错误它是这样的: ----------------
在Skyfield内,如果我有一个来自地球中心的向量 (x, y, z),我如何将其反向转换为“天球”上的点(即赤经和赤纬)? 出于示例目的,假设我在围绕地球的望远镜轨道上有几个点,并且我想计算轨道法
scipy.optimize.minimize 使用默认方法返回初始值作为结果,没有任何错误或警告消息。在使用 this answer 建议的 Nelder-Mead 方法时解决了问题,我想明白: 为
我目前正在尝试用Python语言实现古代日耳曼历法的重建。它的规则之一是,如果新月出现在冬至后的12个晚上,下一年将是闰年(加上一个闰月)。我可以用Skyfield的年鉴模块很容易地实现这一点。。在大
我目前正在尝试用Python语言实现古代日耳曼历法的重建。它的规则之一是,如果新月出现在冬至后的12个晚上,下一年将是闰年(加上一个闰月)。我可以用Skyfield的年鉴模块很容易地实现这一点。。在大
我是一名优秀的程序员,十分优秀!