-
Notifications
You must be signed in to change notification settings - Fork 51
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
Issue: __get_result incorrectly overwrites the correct version when installed on python 3. #78
Comments
I don't think it's reasonable for anyone to do |
People will effectively be doing that in the context of building a container from scratch from a requirements file that happens to have had futures in it. I was just suggesting a new version because then non-pypi package indices will be more likely to be checking for new packages than they are likely to delete them. Especially in a production environment. I was trying to give a simpler example that would cause the same problematic code path. |
This should not usually be a problem because pip installing |
At any rate, dropping the Python version requirement from setup.py is definitely the wrong approach. |
No I think you misunderstand me. I understand why that needs to be there in the long run — I was part of the IPython team that helped get the I intend it to continue to exist for one version to have the cancellation. The next version would have |
Yes, releasing a 3.1.2 would be perfect. That is something I was thinking about too. Would you mind creating a new issue for that? I'm closing this one as wontfix. |
pythonfutures/concurrent/futures/_base.py
Lines 405 to 416 in 5edbc65
I'm happy to make a PR to fix this, but I think the real solution is to release a new version that does not include the
python_requires='>=2.6, <3',
and raises an error instead of a warning when attempted to be installed on python 3.For example, the monkey patching will break
pytest
if installed onpython3
with version3.1.1
. That means if someone doespip3 install -U futures
, thatpython3
executable would install afutures==3.1.1
because it doesn't have apython_requires='>=2.6, <3',
which is what stopspip3
from even seeing thatfutures 3.2.0
exists.If we were to raise an error in a way analogous to what we do in IPython:
https://github.com/ipython/ipython/blob/01bd59ec7c184171df0cb0d933c5672e8c20b67e/setup.py#L25-L58:
then
pip install -U futures
would successfully avoid breaking peoples'python3
executables by not allowing itself to be installed. I'll happiliy make a PR for this.The text was updated successfully, but these errors were encountered: