چرا pip پیش از نصب بستهٔ شما وابستگیهای ساخت را دانلود میکند
یک توزیع کد منبع میتواند به محیط ساخت و وابستگیهای بیشتری نیاز داشته باشد. این دانلودها بخشی از نصب هستند، حتی وقتی بایگانی هدف از قبل محلی است.
یک بایگانی کد منبع محلی باز هم میتواند به دسترسی شبکه نیاز داشته باشد. پیش از آنکه pip بتواند آن را نصب کند، ممکن است به یک backend ساخت و بستههای پشتیبان نیاز داشته باشد تا wheel بسازد.
خرابی را در این توالی پیدا کنید: دریافت بایگانی هدف، نصب نیازمندیهای ساخت، اجرای backend، و سپس نصب بستهٔ حاصل. قلابهای backend میتوانند نیازمندیهای ساخت بیشتری درخواست کنند؛ اینها از وابستگیهای زمان اجرای بسته جدا هستند.
آرتیفکتی را که pip هنوز نیاز دارد مشخص کنید
در «Installing build dependencies» بسته و URL ناموفق را ثبت کنید. ایندکس مؤثر، مسیر پروکسی، بستر حساب و اعتماد برای آن درخواست را با استفاده از تنظیمات مستندِ نسخهٔ نصبشدهٔ pip بررسی کنید. دانلود موفق پیشین دسترسی به همهٔ میزبانها یا محیط هر کمککننده را ثابت نمیکند. نیازمندیهای ساخت عمومی میتوانند در صورت مجاز بودن آن مسیر، از یک کاندید HTTP از فهرست پروکسی HTTP استفاده کنند؛ ایندکس لازم و سیاست اعتماد را حفظ کنید. دستورهای دانلود تاریخی با setup.py ممکن است از زیرفرایندهای متفاوت استفاده کنند.
اگر ماشین دیگری با موفقیت نصب میکند، نخست آرتیفکتهای انتخابشده را مقایسه کنید. نسخهٔ Python یا پلتفرم آن ممکن است wheel از پیش ساختهٔ سازگار داشته باشد، در حالی که این ماشین یک توزیع کد منبع انتخاب کرده و از این رو به ابزارهای ساخت نیاز دارد.
محیط ساخت را آگاهانه فراهم کنید
--no-build-isolation مسئولیت وابستگیهای ساخت لازم را به شما منتقل میکند. این کار احراز هویت پروکسی یا اعتماد گواهی را درست نمیکند. یک backend نصبشدهٔ محلی میتواند نیازمندی گمشده یا ناسازگار را پنهان کند.
برای ساخت آگاهانهٔ بدون اتصال، آرتیفکت هدف، نیازمندیهای ساخت و ابزارهای لازم برای پروژه و پلتفرم را از طریق فرایند تأییدشده آماده کنید. پوشهای که فقط بایگانی کد منبع را دارد ناقص است. نیازمندی و مرحلهٔ ناموفق را در گزارش نگه دارید تا بتوان مسیر یا مجموعهٔ آرتیفکت آمادهشده را اصلاح کرد.