בקשת עזרה: בעיית תעודת אבטחה בספריית skyfield בפייתון
-
שלום.
התמיכה של נטפרי לא הצליחו לעזור לי בעניין הבא, ויעצו לי לבקש עזרה כאן בפורום.
אשמח מאוד אם מישהו יוכל לעזור לי.התקנתי בפייתון את הספרייה הבאה:
https://rhodesmill.org/skyfieldלאחר מכן הרצתי את הקוד הזה:
from skyfield.api import load
planets = load(‘de421.bsp’)
print(‘Ready’)לפי המקור הבא: https://rhodesmill.org/skyfield/files.html
בכל פעם שאני מנסה אני מקבל את השגיאה הבאה:
OSError: cannot download https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de421.bsp because <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:997)>זאת למרות שתעודת האבטחה של נטפרי מותקנת בפייתון, ובדרך כלל כל ספריות פייתון יורדות בלי בעיה.
ניסיתי את השיטות המתוארות להלן, והן לא הועילו:
https://netfree.link/wiki/התקנת_תעודה_בפייתון_-_ספריית_requestsאך כשאני נכנס בדפדפן לקישור: https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de421.bsp הקובץ כן יורד.
הקלטה:
הקלטה@2ef7a368fdתודה רבה
זו השגיאה שמתקבלת
-
אם אני מנסה לעשות כך:
import requestsdef my_where():
return 'C:\netfree.crt'requests.certs.where = my_where
from skyfield.api import load
planets = load('de421.bsp')
print('Ready')אני מקבל את השגיאה הבאה:
-
@sgbmzm לפי מה שאני רואה פה בקוד:
https://github.com/skyfielders/python-skyfield/blob/77349cd775f286aa6b5e73b1fe053744e7e68dfe/skyfield/iokit.py#L516cafile=certifi.where()
אם כן לכאורה תוכל להשתמש בפתרון דומה למה שמופיע בויקי, רק להחליף
requests.certs.where
ב-certifi.where
אגב, הקוד שהבאת עובד אצלי, לא ברור לי למה אצלך לא
-
@yzahn אמר בבקשת עזרה: בעיית תעודת אבטחה בספריית skyfield בפייתון:
certifi.where
תודה רבה מאוד! זה עזר. (ובנוסף הייתי צריך להוסיף r לפני הנתיב).