Этот проект предоставляет автоматизированный конвейер сборки Windows для FFCV и Fastxtend, устраняя необходимость в предварительно установленном Python. Он ориентирован на интеграцию Micromamba и MSVC, решая проблемы с разрешением зависимостей и поведением DLL в Windows. Сценарии загружают самодостаточную среду Conda, извлекая необходимые нативные библиотеки, такие как OpenCV и pthreads. Они также точно настраивают инструментарий MSVC для сборки этих пакетов Python.
Основная мотивация проистекает из исторически недокументированного и сломанного процесса установки FFCV и Fastxtend в Windows. Этот проект направлен на создание прозрачной, воспроизводимой и проверяемой среды сборки, предлагающей понимание сложностей нативной компиляции Python в Windows. Необходимые условия включают Windows 10+, MS Build Tools с рабочей нагрузкой C++ и curl/tar в PATH.
Ключом к процессу является правильная установка переменных среды, таких как INCLUDE, LIB, PATH и LINK, перед установкой pip. Обход распространенной ошибки "Microsoft Visual C++ 14.0 или выше требуется" осуществляется путем установки DISTUTILS_USE_SDK=1. Проект предопределяет правильные значения зависимостей через переменные среды MSVC, обходя конкретные проблемы настройки FFCV.
Он интегрирует внешние библиотеки, такие как OpenCV и pthreads, наряду с LibJPEG-Turbo, предоставляемой Conda. Отладка ошибок "DLL load failed" включает в себя выявление отсутствующих зависимостей, поскольку Python 3.8+ имеет более строгие политики поиска DLL. Решение включает в себя копирование необходимых DLL в доверенные каталоги, такие как Anaconda\Library\bin. Этот проект служит ценным учебным ресурсом для понимания нативной компиляции Windows.
dev.to
Installing FFCV and Fastxtend on Windows with Micromamba and MSVC
