Skip to content

Use old Cython build_ext until includes are fixed. #14496

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

Closed
wants to merge 2 commits into from

Conversation

robertwb
Copy link
Contributor

This change in Cython 0.25

The distutils extension Cython.Distutils.build_ext has now been updated to use cythonize which properly handles dependencies. The old extension can still be found in Cython.Distutils.old_build_ext and is now deprecated.

seems to have broken the include of auto-generated algos_common_helper.pxi. As a temporary workaround, the old build_ext can be used.

This change

The distutils extension Cython.Distutils.build_ext has now been updated to use cythonize which properly handles dependencies. The old extension can still be found in Cython.Distutils.old_build_ext and is now deprecated.

in Cython 0.25 seems to have broken includes. As a temporary workaround, the old build_ext can be used.
@robertwb
Copy link
Contributor Author

It looks like the difficulties are due to

  1. The new Cython.Distutils.build_ext runs cythonize() in finalize_options(), before the .pxi files are generated, and
  2. The extension objects use the include_dirs property, which is only inspected by the old build_ext.

@@ -85,7 +85,7 @@ def is_platform_mac():
try:
if not _CYTHON_INSTALLED:
raise ImportError('No supported version of Cython installed.')
from Cython.Distutils import build_ext as _build_ext
Copy link
Contributor

Choose a reason for hiding this comment

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

well that will fail on older versions of cython wouldn't it?

need to check in a try except

further we use older (and newer versions) of cython in various builds

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Fixed.

@jreback jreback added the Build Library building on various platforms label Oct 26, 2016
@codecov-io
Copy link

Current coverage is 85.26% (diff: 100%)

Merging #14496 into master will decrease coverage by <.01%

@@             master     #14496   diff @@
==========================================
  Files           140        140          
  Lines         50667      50670     +3   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          43203      43205     +2   
- Misses         7464       7465     +1   
  Partials          0          0          

Powered by Codecov. Last update d1d75d7...3d977c3

@jreback
Copy link
Contributor

jreback commented Oct 26, 2016

lgtm. can you add a release note, say compat with cython 0.25 builds.

was just about to say this isn't tested on travis, but cython JUST updated and broke our builds :>

@jreback
Copy link
Contributor

jreback commented Oct 26, 2016

so going to merge.

thanks!

@jreback jreback added this to the 0.19.1 milestone Oct 26, 2016
@jreback jreback closed this in 66b4c83 Oct 26, 2016
@jreback
Copy link
Contributor

jreback commented Oct 26, 2016

I fixed the 3.4 build on the most recent cython. 6ac759d

If you would like to submit a PR to actually fix the way cython builds for >= 0.25 would be great! (need compat of course for older cythons). We still support >= 0.19.1, but should prob move that up.

jorisvandenbossche pushed a commit to jorisvandenbossche/pandas that referenced this pull request Nov 2, 2016
yarikoptic added a commit to neurodebian/pandas that referenced this pull request Nov 18, 2016
Version 0.19.1

* tag 'v0.19.1': (43 commits)
  RLS: v0.19.1
  DOC: update whatsnew/release notes for 0.19.1 (pandas-dev#14573)
  [Backport pandas-dev#14545] BUG/API: Index.append with mixed object/Categorical indices (pandas-dev#14545)
  DOC: rst fixes
  [Backport pandas-dev#14567] DEPR: add deprecation warning for com.array_equivalent (pandas-dev#14567)
  [Backport pandas-dev#14551] PERF: casting loc to labels dtype before searchsorted (pandas-dev#14551)
  [Backport pandas-dev#14536] BUG: DataFrame.quantile with NaNs (GH14357) (pandas-dev#14536)
  [Backport pandas-dev#14520] BUG: don't close user-provided file handles in C parser (GH14418) (pandas-dev#14520)
  [Backport pandas-dev#14392] BUG: Dataframe constructor when given dict with None value (pandas-dev#14392)
  [Backport pandas-dev#14514] BUG: Don't parse inline quotes in skipped lines (pandas-dev#14514)
  [Bacport pandas-dev#14543] BUG: tseries ceil doc fix (pandas-dev#14543)
  [Backport pandas-dev#14541] DOC: Simplify the gbq integration testing procedure for contributors (pandas-dev#14541)
  [Backport pandas-dev#14527] BUG/ERR: raise correct error when sql driver is not installed (pandas-dev#14527)
  [Backport pandas-dev#14501] BUG: fix DatetimeIndex._maybe_cast_slice_bound for empty index (GH14354) (pandas-dev#14501)
  [Backport pandas-dev#14442] DOC: Expand on reference docs for read_json() (pandas-dev#14442)
  BLD: fix 3.4 build for cython to 0.24.1
  [Backport pandas-dev#14492] BUG: Accept unicode quotechars again in pd.read_csv
  [Backport pandas-dev#14496] BLD: Support Cython 0.25
  [Backport pandas-dev#14498] COMPAT/TST: fix test for range testing of negative integers to neg powers
  [Backport pandas-dev#14476] PERF: performance regression in Series.asof (pandas-dev#14476)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Build Library building on various platforms
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants