Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove py27 CI jobs #24942

Merged
merged 59 commits into from
Mar 17, 2019
Merged
Show file tree
Hide file tree
Changes from 52 commits
Commits
Show all changes
59 commits
Select commit Hold shift + click to select a range
7966035
Remove py27 CI jobs
h-vetinari Jan 26, 2019
b224cd6
Remove jinja-pin for 3.7 build
h-vetinari Jan 26, 2019
aac2192
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 1, 2019
b88b87d
Reflect renamed file names in CI config / scripts
h-vetinari Feb 1, 2019
fdc0035
fix travis.yml
h-vetinari Feb 2, 2019
5de5d5f
Fix azure builds
h-vetinari Feb 2, 2019
dcccd6e
Update minimal versions to make env resolution possible
h-vetinari Feb 2, 2019
5588fbd
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 3, 2019
a01f50e
More dep resolutions
h-vetinari Feb 3, 2019
19ff3a5
Try if bumping pymysql/xlsxwriter solves failures
h-vetinari Feb 3, 2019
835679e
fix naming of azure jobs
h-vetinari Feb 3, 2019
7827b71
Unpin pymysql/xlsxwriter in affected builds to check...
h-vetinari Feb 3, 2019
8d390df
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 3, 2019
e41689f
temp fix to ease discussion: xfail failing tests
h-vetinari Feb 3, 2019
0c50978
One last test & non-strict xfail
h-vetinari Feb 3, 2019
8292752
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 3, 2019
4d5c3c8
non-strict xfail for flaky test
h-vetinari Feb 3, 2019
e641585
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 17, 2019
b32f434
Unpin moto
h-vetinari Feb 17, 2019
eae4308
Retrigger after connectivity issues
h-vetinari Feb 17, 2019
7e3c14e
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 17, 2019
e9f7619
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 19, 2019
6fdfe91
Changes in azure-pipelines.yml and tox.ini inspired by #25217
h-vetinari Feb 19, 2019
3052e35
Correct issue reference for other whatsnew
h-vetinari Feb 19, 2019
eba9941
mixed up sections
h-vetinari Feb 19, 2019
12ccef3
Retrigger Azure jobs
h-vetinari Feb 19, 2019
a24f21d
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Feb 20, 2019
59857dc
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Mar 4, 2019
6628284
Merge whatsnew min-ver-sections
h-vetinari Mar 4, 2019
6940171
Shift pytest to pip-section (resolution error)
h-vetinari Mar 4, 2019
c600ca3
Add comment
h-vetinari Mar 4, 2019
ee045e9
Shift pytest to pip-section also for travis-job
h-vetinari Mar 4, 2019
9c94cb6
Move s3fs (and thus boto) to pip section
h-vetinari Mar 4, 2019
52e40eb
Fix two remaining failures
h-vetinari Mar 4, 2019
150e459
Retrigger
h-vetinari Mar 5, 2019
523a73f
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Mar 5, 2019
5403c2b
Move moto/s3fs back to conda
h-vetinari Mar 5, 2019
cff7893
Fix err msg regexes
h-vetinari Mar 6, 2019
23641af
Fix install.rst
h-vetinari Mar 6, 2019
a655272
Lint
h-vetinari Mar 6, 2019
916c2cf
More lint
h-vetinari Mar 6, 2019
253ed59
Fix regex again
h-vetinari Mar 6, 2019
c172aec
Fix readme
h-vetinari Mar 6, 2019
09e2f10
Better error message regex
h-vetinari Mar 6, 2019
8feb448
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Mar 13, 2019
31dec98
Small fixes
h-vetinari Mar 13, 2019
e3ec04e
Actually commit conflict resolution
h-vetinari Mar 13, 2019
5cdecf8
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Mar 13, 2019
b1e0025
Try fix install error
h-vetinari Mar 13, 2019
a7c9a18
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Mar 14, 2019
aedcdf8
Update deps of doc-job
h-vetinari Mar 14, 2019
93c6be4
Trivial diff clean-up to retrigger
h-vetinari Mar 14, 2019
d63830a
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Mar 14, 2019
979341a
Review (jreback)
h-vetinari Mar 14, 2019
d3a50e0
Tentatively remove xfails
h-vetinari Mar 14, 2019
f7492d4
Tentatively revert regex fixes
h-vetinari Mar 14, 2019
2632664
Remove all former PY2 jobs (review jreback)
h-vetinari Mar 15, 2019
c159cfa
Merge remote-tracking branch 'upstream/master' into drop_py2_ci
h-vetinari Mar 15, 2019
fe83f86
Remove tox.ini
h-vetinari Mar 15, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
sudo: false
language: python
# Default Python version is usually 2.7
python: 3.5

# To turn off cached cython files and compiler cache
Expand Down Expand Up @@ -38,7 +37,7 @@ matrix:

- dist: trusty
env:
- JOB="2.7" ENV_FILE="ci/deps/travis-27.yaml" PATTERN="(not slow or (single and db))"
- JOB="3.5" ENV_FILE="ci/deps/travis-35.yaml" PATTERN="(not slow or (single and db))"
addons:
apt:
packages:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -166,7 +166,7 @@ pip install pandas
## Dependencies
- [NumPy](https://www.numpy.org): 1.12.0 or higher
- [python-dateutil](https://labix.org/python-dateutil): 2.5.0 or higher
- [pytz](https://pythonhosted.org/pytz): 2011k or higher
- [pytz](https://pythonhosted.org/pytz): 2015.4 or higher

See the [full installation instructions](https://pandas.pydata.org/pandas-docs/stable/install.html#dependencies)
for recommended and optional dependencies.
Expand Down
1 change: 0 additions & 1 deletion azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ jobs:
name: Linux
vmImage: ubuntu-16.04

# Windows Python 2.7 needs VC 9.0 installed, handled in the template
- template: ci/azure/windows.yml
parameters:
name: Windows
Expand Down
14 changes: 7 additions & 7 deletions ci/azure/posix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,20 @@ jobs:
strategy:
matrix:
${{ if eq(parameters.name, 'macOS') }}:
py35_np_120:
py35_macos:
ENV_FILE: ci/deps/azure-macos-35.yaml
CONDA_PY: "35"
PATTERN: "not slow and not network"

${{ if eq(parameters.name, 'Linux') }}:
py27_np_120:
ENV_FILE: ci/deps/azure-27-compat.yaml
CONDA_PY: "27"
py35_compat:
ENV_FILE: ci/deps/azure-35-compat.yaml
CONDA_PY: "35"
PATTERN: "not slow and not network"

py27_locale_slow_old_np:
ENV_FILE: ci/deps/azure-27-locale.yaml
CONDA_PY: "27"
py36_locale_slow_old_np:
ENV_FILE: ci/deps/azure-36-locale.yaml
CONDA_PY: "36"
PATTERN: "slow"
LOCALE_OVERRIDE: "zh_CN.UTF-8"
EXTRA_APT: "language-pack-zh-hans"
Expand Down
13 changes: 3 additions & 10 deletions ci/azure/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,23 +12,16 @@ jobs:
ENV_FILE: ci/deps/azure-windows-36.yaml
CONDA_PY: "36"

py27_np121:
ENV_FILE: ci/deps/azure-windows-27.yaml
CONDA_PY: "27"
py37_np141:
ENV_FILE: ci/deps/azure-windows-37.yaml
CONDA_PY: "37"

steps:
- task: CondaEnvironment@1
inputs:
updateConda: no
packageSpecs: ''

- powershell: |
$wc = New-Object net.webclient
$wc.Downloadfile("https://download.microsoft.com/download/7/9/6/796EF2E4-801B-4FC4-AB28-B59FBF6D907B/VCForPython27.msi", "VCForPython27.msi")
Start-Process "VCForPython27.msi" /qn -Wait
displayName: 'Install VC 9.0 only for Python 2.7'
condition: eq(variables.CONDA_PY, '27')

- script: |
ci\\incremental\\setup_conda_environment.cmd
displayName: 'Before Install'
Expand Down
17 changes: 9 additions & 8 deletions ci/deps/azure-27-compat.yaml → ci/deps/azure-35-compat.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,26 +3,27 @@ channels:
- defaults
- conda-forge
dependencies:
- beautifulsoup4==4.4.1
- bottleneck=1.2.0
- cython=0.28.2
- hypothesis>=3.58.0
- jinja2=2.8
- numexpr=2.6.1
- numpy=1.12.0
- openpyxl=2.5.5
- openpyxl=2.2.6
- pytables=3.4.2
- python-dateutil=2.5.0
- python=2.7*
- pytz=2013b
- python=3.5*
- pytz=2015.4
- scipy=0.18.1
- xlrd=1.0.0
- xlsxwriter=0.5.2
- xlwt=0.7.5
- xlsxwriter=0.7.7
- xlwt=1.0.0
jreback marked this conversation as resolved.
Show resolved Hide resolved
# universal
- pytest>=4.0.2
- pytest-xdist
- pytest-mock
- isort
- pip:
# for python 3.5, pytest>=4.0.2 is not available in conda
- pytest>=4.0.2
- html5lib==1.0b2
- beautifulsoup4==4.2.1
- hypothesis>=3.58.0
13 changes: 6 additions & 7 deletions ci/deps/azure-27-locale.yaml → ci/deps/azure-36-locale.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ channels:
- defaults
- conda-forge
dependencies:
- beautifulsoup4==4.5.1
- bottleneck=1.2.0
- cython=0.28.2
- lxml
Expand All @@ -11,14 +12,13 @@ dependencies:
- openpyxl=2.4.0
- python-dateutil
- python-blosc
- python=2.7
- pytz
- pytz=2013b
- python=3.6
- pytz=2016.10
- scipy
- sqlalchemy=0.8.1
- sqlalchemy=1.1.4
jreback marked this conversation as resolved.
Show resolved Hide resolved
- xlrd=1.0.0
- xlsxwriter=0.5.2
- xlwt=0.7.5
- xlsxwriter=0.9.4
- xlwt=1.2.0
# universal
- pytest>=4.0.2
- pytest-xdist
Expand All @@ -27,4 +27,3 @@ dependencies:
- isort
- pip:
- html5lib==1.0b2
- beautifulsoup4==4.2.1
2 changes: 1 addition & 1 deletion ci/deps/azure-windows-36.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ dependencies:
- pyarrow
- pytables
- python-dateutil
- python=3.6.6
- python=3.6.*
- pytz
- scipy
- xlrd
Expand Down
10 changes: 5 additions & 5 deletions ci/deps/azure-windows-27.yaml → ci/deps/azure-windows-37.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,17 +5,17 @@ channels:
dependencies:
- beautifulsoup4
- bottleneck
- dateutil
- gcsfs
- html5lib
- jinja2=2.8
- jinja2
- lxml
- matplotlib=2.0.1
- matplotlib=3.0.1
jreback marked this conversation as resolved.
Show resolved Hide resolved
- numexpr
- numpy=1.12*
- numpy=1.14.*
- openpyxl
- pytables
- python=2.7.*
- python=3.7.*
- python-dateutil
- pytz
- s3fs
- scipy
Expand Down
32 changes: 19 additions & 13 deletions ci/deps/travis-27.yaml → ci/deps/travis-35.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,13 @@ channels:
- defaults
- conda-forge
dependencies:
- backports.lzma
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

is this needed?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This was in the env before, I tried not to delete deps if not necessary. Can take it out if beneficial.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yes

- beautifulsoup4
- bottleneck
- cython=0.28.2
- fastparquet>=0.2.1
- gcsfs
- html5lib
- ipython
- jemalloc=4.5.0.post
- jinja2=2.8
- lxml
- matplotlib=2.2.2
Expand All @@ -19,33 +18,40 @@ dependencies:
- numexpr
- numpy=1.13*
- openpyxl=2.4.0
- pathlib
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is not needed as its builtin

- patsy
- psycopg2
- py
- pyarrow=0.9.0
- PyCrypto
- pymysql=0.6.3
- pymysql=0.6.6
- pytables
- blosc=1.14.3
- python-blosc
- python-dateutil=2.5.0
- python=2.7*
- pytz=2013b
- s3fs
- python=3.5*
- pytz=2015.4
- scipy
- sqlalchemy=0.9.6
- sqlalchemy=1.0.8
- s3fs
- xarray=0.9.6
- xlrd=1.0.0
- xlsxwriter=0.5.2
- xlwt=0.7.5
- xlsxwriter=0.7.7
- xlwt=1.0.0
# universal
- pytest>=4.0.2
- pytest-xdist
- pytest-mock
- moto==1.3.4
- moto
- hypothesis>=3.58.0
- isort
# satisfy fastparquet deps with conda
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

these are needed explicity?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. fastparquet>=0.2.1 is not in conda for python 3.5, and the pip install crashed, see https://travis-ci.org/pandas-dev/pandas/jobs/505611426

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i would rather remove fastparquet from this build then, we have it installed for 1 or more of 3.6/3.7 already I think (pls check)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed. Remaining jobs with fastparquet:

ci/deps\azure-windows-36.yaml:9:  - fastparquet>=0.2.1
ci/deps\travis-36-doc.yaml:9:  - fastparquet>=0.2.1
ci/deps\travis-36.yaml:10:  - fastparquet>=0.2.1

- llvmlite
- numba
# satisfy pandas-gbq deps with conda
- protobuf
- thrift
- pip:
- backports.lzma
# not available for python 3.5 through conda
- fastparquet>=0.2.1
- pandas-gbq
- pathlib
- pytest>=4.0.2
4 changes: 2 additions & 2 deletions ci/deps/travis-36-doc.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,10 @@ dependencies:
- ipywidgets
- lxml
- matplotlib
- nbconvert
- nbconvert>=5.4.1
- nbformat
- nbsphinx
- notebook
- notebook>=5.7.5
jreback marked this conversation as resolved.
Show resolved Hide resolved
- numexpr
- numpy=1.13*
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

just unpin this

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm doing that already in #25554 but OK

- numpydoc
Expand Down
4 changes: 2 additions & 2 deletions ci/run_with_env.cmd
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
:: EXPECTED ENV VARS: PYTHON_ARCH (either x86 or x64)
:: CONDA_PY (either 27, 33, 35 etc. - only major version is extracted)
:: CONDA_PY (either 35, 36 etc. - only major version is extracted)
::
::
:: To build extensions for 64 bit Python 3, we need to configure environment
Expand Down Expand Up @@ -45,7 +45,7 @@ SET WIN_SDK_ROOT=C:\Program Files\Microsoft SDKs\Windows
SET MAJOR_PYTHON_VERSION=%CONDA_PY:~0,1%

IF "%CONDA_PY:~2,1%" == "" (
:: CONDA_PY style, such as 27, 34 etc.
:: CONDA_PY style, such as 36, 37 etc.
SET MINOR_PYTHON_VERSION=%CONDA_PY:~1,1%
) ELSE (
IF "%CONDA_PY:~3,1%" == "." (
Expand Down
6 changes: 3 additions & 3 deletions doc/source/install.rst
Original file line number Diff line number Diff line change
Expand Up @@ -226,7 +226,7 @@ Dependencies
* `setuptools <https://setuptools.readthedocs.io/en/latest/>`__: 24.2.0 or higher
* `NumPy <http://www.numpy.org>`__: 1.12.0 or higher
* `python-dateutil <https://dateutil.readthedocs.io/en/stable/>`__: 2.5.0 or higher
* `pytz <http://pytz.sourceforge.net/>`__
* `pytz <http://pytz.sourceforge.net/>`__: 2015.4 or higher

.. _install.recommended_dependencies:

Expand Down Expand Up @@ -259,7 +259,7 @@ Optional Dependencies
* `PyTables <http://www.pytables.org>`__: necessary for HDF5-based storage, Version 3.4.2 or higher
* `pyarrow <http://arrow.apache.org/docs/python/>`__ (>= 0.9.0): necessary for feather-based storage.
* `Apache Parquet <https://parquet.apache.org/>`__, either `pyarrow <http://arrow.apache.org/docs/python/>`__ (>= 0.7.0) or `fastparquet <https://fastparquet.readthedocs.io/en/latest>`__ (>= 0.2.1) for parquet-based storage. The `snappy <https://pypi.org/project/python-snappy>`__ and `brotli <https://pypi.org/project/brotlipy>`__ are available for compression support.
* `SQLAlchemy <http://www.sqlalchemy.org>`__: for SQL database support. Version 0.8.1 or higher recommended. Besides SQLAlchemy, you also need a database specific driver. You can find an overview of supported drivers for each SQL dialect in the `SQLAlchemy docs <http://docs.sqlalchemy.org/en/latest/dialects/index.html>`__. Some common drivers are:
* `SQLAlchemy <http://www.sqlalchemy.org>`__: for SQL database support. Version 1.0.8 or higher recommended. Besides SQLAlchemy, you also need a database specific driver. You can find an overview of supported drivers for each SQL dialect in the `SQLAlchemy docs <http://docs.sqlalchemy.org/en/latest/dialects/index.html>`__. Some common drivers are:

* `psycopg2 <http://initd.org/psycopg/>`__: for PostgreSQL
* `pymysql <https://github.com/PyMySQL/PyMySQL>`__: for MySQL.
Expand Down Expand Up @@ -298,7 +298,7 @@ Optional Dependencies

.. note::

If using BeautifulSoup4 a minimum version of 4.2.1 is required
If using BeautifulSoup4 a minimum version of 4.4.1 is required

* `BeautifulSoup4`_ and `html5lib`_ (Any recent version of `html5lib`_ is
okay.)
Expand Down
17 changes: 16 additions & 1 deletion doc/source/whatsnew/v0.25.0.rst
Original file line number Diff line number Diff line change
Expand Up @@ -69,12 +69,27 @@ is respected in indexing. (:issue:`24076`, :issue:`16785`)
Increased minimum versions for dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

We have updated our minimum supported versions of dependencies (:issue:`23519`).
Due to dropping support for Python 2.7, a number of optional dependencies have updated minimum versions.
Independently, some minimum supported versions of dependencies were updated (:issue:`23519`, :issue:`24942`).
If installed, we now require:

+-----------------+-----------------+----------+
| Package | Minimum Version | Required |
+=================+=================+==========+
| beautifulsoup4 | 4.4.1 | |
+-----------------+-----------------+----------+
| openpyxl | 2.2.6 | |
jreback marked this conversation as resolved.
Show resolved Hide resolved
+-----------------+-----------------+----------+
| pymysql | 0.6.6 | |
+-----------------+-----------------+----------+
| pytz | 2015.4 | |
+-----------------+-----------------+----------+
| sqlalchemy | 1.0.8 | |
+-----------------+-----------------+----------+
| xlsxwriter | 0.7.7 | |
+-----------------+-----------------+----------+
| xlwt | 1.0.0 | |
+-----------------+-----------------+----------+
| pytest (dev) | 4.0.2 | |
+-----------------+-----------------+----------+

Expand Down
4 changes: 3 additions & 1 deletion pandas/tests/io/test_excel.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from numpy import nan
import pytest

from pandas.compat import PY36, BytesIO, iteritems, map, range, u
from pandas.compat import PY35, PY36, BytesIO, iteritems, map, range, u
import pandas.util._test_decorators as td

import pandas as pd
Expand Down Expand Up @@ -2182,6 +2182,8 @@ def test_write_cells_merge_styled(self, merge_cells, ext, engine):
assert xcell_b1.font == openpyxl_sty_merged
assert xcell_a2.font == openpyxl_sty_merged

@pytest.mark.xfail(PY35 and not PY36, reason='only fails on Linux?',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this changing?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because I wasn't able to make this test work on PY35 regardless of the versions I tried.

strict=False)
@pytest.mark.parametrize("mode,expected", [
('w', ['baz']), ('a', ['foo', 'bar', 'baz'])])
def test_write_append_mode(self, merge_cells, ext, engine, mode, expected):
Expand Down
Loading