ipython / ipython_genutils

Vestigial IPython utilities: DO NOT USE
Other
11 stars 22 forks source link

Omit missing directories from MANIFEST.in #10

Closed neirbowj closed 7 years ago

neirbowj commented 7 years ago

Some combinations of python and setuptools (e.g. 3.4.6 + 32.1.0) trace with FileNotFoundError on a graft with a missing directory.

Carreau commented 7 years ago

e.g. 3.4.6 + 32.1.0

😞 @minrk , @takluyver do we merge and released a 0.2 ? We've got 1 other patch that have been merged in last year.

minrk commented 7 years ago

@neirbowj how exactly did you run into this? I've tested with 3.4.5 + 32.1.0 and there are no errors.

MANIFEST.in should only affect sdists, so this doesn't need to force a release because it would only affect our ability to make a release, it shouldn't affect anyone installing from the current release. Plus, sdists for this repo are not made with setuptools, so setuptools version can't have an effect and python setup.py sdist continues to work.

neirbowj commented 7 years ago

@minrk: I saw this when building pandas and ipython_genutils on FreeBSD shortly after Python 3.4.6 hit the ports tree. You can follow my adventures on this thread FreeBSD python mailing list.

In summary, Python changed the implementation of distutils.filelist.findall between 3.4.5 and 3.4.6 (python/cpython@79ae9671ff3db55da376af8ce2e56e6bf2b95c2b), which changed its behavior when invoked with a non-existent directory (OSError -> FileNotFoundError). setuptools restored an old gobbing feature for the graft statement in 34.0.1 (pypa/setuptools@56274b32724933cd2016488c4e667e86d30572ef) which avoids the underlying change because it doesn't call findall unless glob already saw the directory.

FRidh commented 7 years ago

I just noticed this issue as well. FWIW we use setuptools 30.2.0.