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

setuptools installs release candidates, unlike pip #7

Closed
johnyf opened this issue Jan 26, 2016 · 3 comments
Closed

setuptools installs release candidates, unlike pip #7

johnyf opened this issue Jan 26, 2016 · 3 comments
Assignees
Labels
bug An error, usually in the code.

Comments

@johnyf
Copy link
Member

johnyf commented Jan 26, 2016

The recommended way to fetch and compile CUDD and its Cython bindings is python setup.py install --fetch --cudd. This uses setuptools for installing dependencies, so it allows release candidates, as it happened with networkx == 1.11rc2. In contrast, pip does not allow release candidates by default. This inconsistency can cause confusion, especially between local and CI builds. Fix the behavior of pip --install-option to avoid running python setup.py directly.

@johnyf johnyf added the bug An error, usually in the code. label Feb 15, 2016
@slivingston
Copy link
Member

Is it correct that this issue depends on pypa/pip#1883 ?

@johnyf
Copy link
Member Author

johnyf commented Jan 27, 2018

Yes, if pip does not propagate dd-specific --install-options to packages that dd depends on (which don't recognize them, raising errors), then it will be possible to instruct dd to fetch and compile CUDD. When that becomes possible, then pip install can be used instead of python setup.py (which makes a difference only for installing in an environment where dependencies are absent).

(Remark: invoking pip install --pre allows release candidates.)

For Linux systems with Python 3.5 or 3.6, dd >= 0.5.3 wheels that contain CUDD are available from PyPI, so in those use cases passing --fetch and --cudd is unnecessary.

@johnyf johnyf self-assigned this May 19, 2022
@johnyf
Copy link
Member Author

johnyf commented Nov 27, 2023

DD_FETCH=1 DD_CUDD=1 pip install dd -vvv --use-pep517 --no-build-isolation is used as of d25ee69, so pip installs the dependencies of dd. (If building from a tarball containing cythonized files, then --no-build-isolation can be omitted.)

Also, the parameter --install-option of pip has been removed as of pip == 23.3.1.

@johnyf johnyf closed this as completed Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug An error, usually in the code.
Projects
None yet
Development

No branches or pull requests

2 participants