به هیچی دست نزدی ولی یهو بعد از یه مدت، کل سیستم Fail میشه و هیچی درست کار نمیکنه!!
یه مشکل خیلی عجیب توی یه سری از اکشنهایی که با pyaction نوشته بودم رخ داد و اونم این بود که اکشن بدون هیچ دلیلی موقع نصب requirementها Fail میشد! عملا به هیچی دست نزده بودم.
مشکل رو میگم، خودتون بسطش بدید و سعی کنید خیلی توی اینجور موارد حواستون باشه. من توی اکشنها از داکر ایمیج
python:3-slim
استفاده میکنم. سبک و سریعه و بدون مشکل روی رانر گیتهاب میاد بالا. مشکل از این قراره که تا ۲-۳ هفته پیش، این ایمیج پایتون ۳.۱۲ رو نصب میکرد و بدون مشکل dependencyها نصب میشدن. بعد از استیبل شدن پایتون ۳.۱۳ یهو این ایمیج تصمیم میگیره که سوییچ کنه روی این نسخه و روی رانر، پایتون ۳.۱۳ رو نصب کنه. خب تا اینجاشم اوکیه. (چون پایتون ۴ نیس.
😁)
این تغییر به ظاهر اوکیه ولی یک سری از requirementهایی که داریم یکم low-levelتر هستن و بخشهاییشون ممکنه با راست نوشته شده باشه، کامپایل کد سی باشه حتی که باعث میشه اون نسخه خاص از پکیج صرفا با پایتون ۳.۱۲ همخوانی داشته باشه و نه چیز دیگهای واسه همین موقع نصب، به مشکل میخورد و کل ورکفلو Fail میشد.
نتیجه:
سعی کنید دپندنسیهاتون رو اینجوری ننویسید:
foo
baz
bar
اینطوری بنویسید:
foo == 1.2.3
bar >= 1.2
baz ~= 1.2.1
یا مثلا توی مورد من، بهتر بود که داکرفایلم اینطوری شروع میشد:
FROM python:3.12-slim
نه اینجوری:
FROM python:3-slim