BLD: Fix build issues #2007

Merged
merged 2 commits into from Sep 25, 2014

Projects

None yet

2 participants

@jseabold
Member

Fixes for #2003 and should fix #1897. AFAICT, there's no reason to be conditional about adding the build and install dependencies depending on what command we've given setup.py. Given that egg_info is in sys.argv for a regular pip install, let's not try to special case when we do this, because I don't know what any of these mean and a cursory reading of the docs didn't get there.

If everything is already importable, you won't reinstall anything. If not, then you'll install it and you'll get pip's recursive upgrade behavior for any of our dependencies I guess. Oh well.

I think we finally have sane dependency handling.

@jseabold jseabold merged commit a4e4eb8 into statsmodels:master Sep 25, 2014

1 check was pending

continuous-integration/travis-ci The Travis CI build is in progress
Details
@jseabold jseabold deleted the jseabold:fix-build-issues branch Sep 25, 2014
@josef-pkt josef-pkt commented on the diff Sep 26, 2014
@@ -389,12 +389,12 @@ def get_data_files():
# 3.3 needs numpy 1.7+
min_versions.update({"numpy" : "1.7.0b2"})
- if not no_frills:
- (setup_requires,
- install_requires) = check_dependency_versions(min_versions)
- if _have_setuptools:
- setuptools_kwargs['setup_requires'] = setup_requires
- setuptools_kwargs['install_requires'] = install_requires
+ (setup_requires,
+ install_requires) = check_dependency_versions(min_versions)
+
+ if _have_setuptools:
+ setuptools_kwargs['setup_requires'] = setup_requires
+ setuptools_kwargs['install_requires'] = install_requires
@josef-pkt
josef-pkt Sep 26, 2014 Member

This looks to me now you will always trigger an update of numpy, exactly what we want to avoid.
Doesn't it?
unconditional install_requires, setup_requires

pip will have _have_setuptools is True

@jseabold
jseabold Sep 26, 2014 Member

On Thu, Sep 25, 2014 at 8:33 PM, Josef Perktold notifications@github.com
wrote:

In setup.py:

@@ -389,12 +389,12 @@ def get_data_files():
# 3.3 needs numpy 1.7+
min_versions.update({"numpy" : "1.7.0b2"})

  • if not no_frills:
  •    (setup_requires,
    
  •     install_requires) = check_dependency_versions(min_versions)
    
  •    if _have_setuptools:
    
  •        setuptools_kwargs['setup_requires'] = setup_requires
    
  •        setuptools_kwargs['install_requires'] = install_requires
    
  • (setup_requires,
  • install_requires) = check_dependency_versions(min_versions)
    
  • if _have_setuptools:
  •    setuptools_kwargs['setup_requires'] = setup_requires
    
  •    setuptools_kwargs['install_requires'] = install_requires
    

This looks to me now you will always trigger an update of numpy, exactly
what we want to avoid.
Doesn't it?

No.

unconditional install_requires, setup_requires

That are empty.

pip will have _have_setuptools is True

Reply to this email directly or view it on GitHub
https://github.com/statsmodels/statsmodels/pull/2007/files#r18068910.

@josef-pkt
josef-pkt Sep 26, 2014 Member

If patsy is missing, then install_requires contains 'patsy' (which triggers a chain reaction) ?

@josef-pkt
Member

What we could do is make it conditional on
if 'numpy not in setup_requires: then let pip/setuptools handle all dependencies.
else throw an error as we did before.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment