Travis Ci - Travisci: Расширенная Версия Pandas (Январь 2021 Г.) Numpy Теперь Несовместима

  • Автор темы Ab13
  • Обновлено
  • 21, Oct 2024
  • #1

Я очень новичок в TravisCI. Тем не менее, я поддерживаю пакет Python mplfinance и мы запускаем набор тестов TravisCI для каждого запроса на включение. Мы запускаем одни и те же тесты для py36, py37 и py38. Начиная с января 2021 года тесты Py37 начали постоянно завершаться с ошибкой:

ERROR: pandas 1.2.0 has requirement numpy>=1.16.5, but you'll have numpy 1.16.4 which is incompatible.

Вот в чем дело: некоторые тесты выполняются с использованием pytest под tox, и эти тесты работают нормально. Но мы также запускаем тест из сценария оболочки. В этом тесте для каждого PR сценарий извлекает и устанавливает пакет (используя

Collecting pandas

Using cached pandas-1.2.0-cp37-cp37m-manylinux1_x86_64.whl (9.9 MB)
Collecting kiwisolver>=1.0.1

Using cached kiwisolver-1.3.1-cp37-cp37m-manylinux1_x86_64.whl (1.1 MB)
Collecting pillow>=6.2.0

Using cached Pillow-8.1.0-cp37-cp37m-manylinux1_x86_64.whl (2.2 MB)
Requirement already satisfied: numpy>=1.15 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from matplotlib->mplfinance==0.12.7a5) (1.16.4)
) сначала из самого PR, а затем из версии, которая сейчас находится в репозитории, и выполняет некоторое сравнение двух версий. Это отлично работает для py36 и py38, а до января отлично работало и для Py37. Вот пример того, как он отлично работает для Py37. прежний по январь:

https://travis-ci.org/github/matplotlib/mplfinance/jobs/751128518

По ссылке выше вы можете увидеть следующее

Collecting pandas

Using cached pandas-1.1.5-cp37-cp37m-manylinux1_x86_64.whl (9.5 MB)
Collecting python-dateutil>=2.1

Using cached python_dateutil-2.8.1-py2.py3-none-any.whl (227 kB)
Collecting cycler>=0.10

Using cached cycler-0.10.0-py2.py3-none-any.whl (6.5 kB)
Requirement already satisfied: numpy>=1.15 in /home/travis/virtualenv/python3.7.1/lib/python3.7/site-packages (from matplotlib->mplfinance==0.12.7a4) (1.16.4)

Обратите внимание, что при установке pandas 1.1.5 и numpy 1.16.4

Начиная с января вот что я вижу:

Пример: https://travis-ci.org/github/matplotlib/mplfinance/jobs/753110408

pip3 install .

Сейчас идет установка панд 1.2.0, и сначала кажется, что его устраивает numpy 1.16.4, но позже в файле я вижу

ERROR: pandas 1.2.0 has requirement numpy>=1.16.5, but you'll have numpy 1.16.4 which is incompatible.

(Как ни странно, дальше в файле оказывается, что tox устанавливает numpy==1.19.4 и pandas==1.1.5 ??)

Есть ли у кого-нибудь идеи, что я могу с этим сделать?

Очень ценю. Спасибо.

#travis-ci

Ab13


Рег
17 Aug, 2011

Тем
73

Постов
193

Баллов
588
  • 25, Oct 2024
  • #2

Это оказалось проблемой

pip
определение правильной зависимости: по какой-то причине он подумал, что требование pandas было для numpy>=1.15

Сообщение об ошибке

pip install --upgrade pip

исходил от самой панды (на

pip
).

Исправление заключается в обновлении до более новая версия

import
(внутри скрипта, работающего на travisCI). Более новая версия pip способна правильно определить, что pandas нужна более новая версия numpy.

Просто поставь

ERROR: pandas 1.2.0 has requirement numpy>=1.16.5 ...
в верхней части сценария.

Не знаю, почему TravisCI просто не использует последнюю версию

pip
by default.

Ссылка: https://travis-ci.community/t/11214

 

Dolphinbobo


Рег
19 Dec, 2006

Тем
95

Постов
214

Баллов
719
Тем
403,760
Комментарии
400,028
Опыт
2,418,908

Интересно