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

Cython not declared as requirement #768

Closed
jbarnoud opened this issue Mar 12, 2016 · 7 comments
Closed

Cython not declared as requirement #768

jbarnoud opened this issue Mar 12, 2016 · 7 comments
Assignees

Comments

@jbarnoud
Copy link
Contributor

Since #692, cython is required to install MDAnalysis from the git repository. Yet, cython is not listed as a requirement.

Cython should be listed as a requirement if setup.py is configure to delete the cython files.

Expected behaviour

The dev version of MDAnalysis get install with pip install <path-to-MDAnalysis>/package.

Actual behaviour

Obtaining file:///home/jon/dev/mda3/package
    Complete output from command python setup.py egg_info:
    Attempting to autodetect OpenMP support... Compiler supports OpenMP
    Will attempt to use Cython.
    Couldn't find a Cython installation. Not recompiling cython extensions.
    Traceback (most recent call last):
      File "<string>", line 1, in <module>
      File "/home/jon/dev/mda3/package/setup.py", line 372, in <module>
        exts, cythonfiles = extensions(config)
      File "/home/jon/dev/mda3/package/setup.py", line 351, in extensions
        "failed/disabled Cython build.".format(source))
    IOError: Source file 'MDAnalysis/coordinates/dcdtimeseries.c' not found. This might be caused by a missing Cython install, or a failed/disabled Cython build.

Code to reproduce the behaviour

pip install <path-to-MDAnalysis>/package`

Currently version of MDAnalysis:

0.14.1.dev0

@jbarnoud jbarnoud self-assigned this Mar 12, 2016
@orbeckst
Copy link
Member

Good point, just encountered this problem (see dev list) but did not realize that I should have filed an issue. Thanks!

@kain88-de
Copy link
Member

Don't we need to handle this the same as numpy? We need to have cython available very early in the build process for configurations.

@jbarnoud
Copy link
Contributor Author

@kain88-de Yes, I think we do. Everything related to Cython should be delayed until after the "setup_requires" step is done.

@orbeckst
Copy link
Member

Maybe chat to @mnmelo on how to do the delayed checking?

Oliver Beckstein
email: [email protected]

Am Mar 17, 2016 um 19:57 schrieb Jonathan Barnoud [email protected]:

@kain88-de Yes, I think we do. Everything related to Cython should be delayed until after the "setup_requires" step is done.


You are receiving this because you commented.
Reply to this email directly or view it on GitHub

@mnmelo
Copy link
Member

mnmelo commented Mar 18, 2016

I'm on it. Seems to be possible to handle the same way. Maybe I can even further generalize the lazy dependency model.

@jbarnoud jbarnoud assigned mnmelo and unassigned jbarnoud Mar 18, 2016
@jbarnoud
Copy link
Contributor Author

@mnmelo Glad to leave that to you.

mnmelo added a commit that referenced this issue Mar 23, 2016
Customized setup-time dependency installation to work around setuptools'
problematic behavior (closes #798)

Modified lazy dependency scheme to be less hacky (we now subclass
distutils.Distribution).

Removed use of Cython's build_ext (redundant with cythonize):
https://groups.google.com/forum/#!topic/cython-users/fBWLUSJWod0
mnmelo added a commit that referenced this issue Mar 23, 2016
Customized setup-time dependency installation to work around setuptools'
problematic behavior (closes #798)

Modified lazy dependency scheme to be less hacky (we now subclass
distutils.Distribution).

Removed use of Cython's build_ext (redundant with cythonize):
https://groups.google.com/forum/#!topic/cython-users/fBWLUSJWod0
@kain88-de
Copy link
Member

Solved in #1134

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

No branches or pull requests

4 participants