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
setup.py: do not tighten dateutil for py27 and up #1406
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #1406 +/- ##
===========================================
- Coverage 80.61% 80.59% -0.03%
===========================================
Files 87 87
Lines 12123 12123
===========================================
- Hits 9773 9770 -3
- Misses 2350 2353 +3
Continue to review full report at Codecov.
|
Travis will pass for this because the This is something that we're currently looking into doing. I have a branch that will do this (and also updates
|
Add it to scripts/ci/install / requirements{,26}.txt, too.
@joguSD |
Do you have a link to a failing build? |
And to be honest: while I am really on the side of supporting legacy (Python) versions, what is the reason for not dropping py26 here also? |
Heres a failing build: https://travis-ci.org/joguSD/botocore/builds/353493633 In the longer term I think we would like to drop Py26 support but we won't be able to do so for a long while as we still have customers expecting botocore (even more so for the aws-cli) to work on 2.6. The expectation is that these tools will work on Python 2.6 and without a proper warning and deprecation campaign there's not much we can do at the moment. |
I see, thanks for the explanations so far. Feel free to close this PR (but hopefully for some strange reason it will work now - it works locally at least, but you say that it is related to Travis only, right?), or include it in your branch. |
Regarding the RecursionError in nose: are there plans to use pytest instead of node maybe? |
I cancelled that build. Not sure why it got stuck. |
For what it's worth I haven't been able to reproduce the recursion error locally either, but I have seen it on Travis (and other CI systems). So I'm fairly confident there is a real issue somewhere in our tests or one of our dependencies. Most likely there's a rogue mock/patch on stdout messing everything up. |
Well, Travis also does not like this one - will close/re-open. |
Maybe #1408 helps in this regard - it is unnecessary to wrap running the tests with shell=True. |
I think there's just quite a few branches / PRs queued up on travis that it's taking a while to get to these new ones. Just give it some time and I think they'll run. |
+1 to relaxing the |
yes, please relax this, openstack is not able to update dateutil because of this.
|
👍, this is also preventing the Ansible AWX project from using the latest |
'docutils>=0.10'] | ||
|
||
if sys.version_info <= (2, 7): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this switch only works depending on what version of Python you run setup.py
with, not the version that you're installing this for.
Shouldn't this be something more like:
requires.extend(["python-dateutil>=2.1,<2.7.0;python_version == '2.6'",
"python-dateutil>=2.1,<3.0.0;python_version >= '2.7'"])
That way it will also work if you build a wheel on Python 3.6 and install it with python 2.6.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@pganssle
Good call.
But sys.version_info
is also used below, which should be changed then, too.
IIRC this might require a certain version of setuptools etc (I think checking pytest's setup.py might be good).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
At dateutil
we ended up doing this to ensure a minimum requirement, but it might be possible to use install_requires
.
anything left to do here before merge? |
Removed: - pecan :: https://review.openstack.org/555891 - pbr :: https://review.openstack.org/557009 - pika - Sphinx - oslo.config :: https://review.openstack.org/557012 - pyldap :: frankly it looked strange and I wanted to investigate - botocore :: boto/botocore#1406 Change-Id: Ibddac92fb339b3678a231c4e939e62aba1e15f08
@prometheanfire I think the |
That said, I'm still dubious as to whether this is necessary at all. It seems like a belt-and-suspenders approach. Updating |
hmm, ya, just fixing requirements.txt to be the following should work
as an example, see https://github.com/openstack/requirements/blob/master/global-requirements.txt#L75 |
@prometheanfire What I'm saying that leaving the python-dateutil>=2.1,<3.0.0 Will also work, because That said, your way is a "belt and suspenders" approach, in that it will also work for people using very old versions of I generally think, "update pip" is a reasonable thing to ask at this point, given that as more people drop compatibility for Python 2, |
True, I'd be happy with either method. We (gentoo) have pip 7.1.2 available, but pip 9 has been stable for a long time. The current situation is preventing OpenStack from consuming the latest botocore, so solving it in some way would be nice (and the requisite release). I can submit another PR to do the requirements update unless someone's going to update this one. |
What needs to be done to get this merged? |
@jakul |
Closing. |
Ref: #1402 (comment)