Я пытаюсь получить рецепт сборки conda, чтобы пройти все тесты CI по рецептам conda-forge / staged-recipes. Вот ссылка на запрос на извлечение Пакет python имеет расширение fortran и использует numpy.distutils в setup.py для создания расширения. Обведите CI для Linux, Travis-CI для OSX, но я не могу заставить Appveyor для Windows работать с рецептом conda-build.
При использовании Miniconda для сборки Appveyor для Windows и сборки Travis CI для OSX и Linux для репозитория пакетов все работает и тесты проходят. Я также могу заставить рецепт conda-build работать локально на Windows и Linux, но, как вы можете видеть из запроса на получение conda-forge, тесты не проходят для Windows с использованием Appveyor.
При импорте теста не удалось загрузить расширение fortran с помощью ImportError: DLL load failed: The specified module cannot be found.
Модуль расширения скопирован в каталог site-packages, copying build\lib.win-amd64-3.6\timml\besselaesnew.cp36-win_amd64.pyd C:\bld\timml_1541596078787\_h_env\Lib\site-packages\timml
, поэтому я озадачен, почему он не найден. Я прочитал о различиях между .pyd и dll и попробовал --compiler=mingw32
вместо --compiler=msvc
, как упоминалось здесь . Это все еще не сработало. Я также добавил zlib
в раздел host и run после прочтения this , и это не помогло.
Будем весьма благодарны за любые советы по получению рецепта сборки conda для пакета python с расширением fortran, работающего на Appveyor. Аргументы компилятора в файле setup.py
для Windows копируются ниже на случай, если это имеет значение.
if os.name == "nt":
compile_args = ["-static-libgcc", "-Wall", "-shared"]