Skip to content

Python 2.6 requires python-daemon 1.x as dep for GC3Pie#2673

Merged
ocaisa merged 1 commit intoeasybuilders:developfrom
boegel:fix_py26_travis
Nov 27, 2018
Merged

Python 2.6 requires python-daemon 1.x as dep for GC3Pie#2673
ocaisa merged 1 commit intoeasybuilders:developfrom
boegel:fix_py26_travis

Conversation

@boegel
Copy link
Copy Markdown
Member

@boegel boegel commented Nov 27, 2018

Somehow the release of GC3Pie 2.5.1 is pulling in python-daemon 2.2.0, which is not compatible with Python 2.6, causing tests to fail.

This is an attempt to fix that issue...

cc @riccardomurri

@boegel boegel added the bug fix label Nov 27, 2018
@boegel boegel added this to the 3.8.0 milestone Nov 27, 2018
@boegel boegel requested a review from ocaisa November 27, 2018 15:45
@riccardomurri
Copy link
Copy Markdown
Contributor

I think something changed in the way pip handles dependencies or installs packages... I spent quite some time yesterday trying to fix GC3Pie/Py2.6 tests (which fail for a similar reason).

GC3Pie tests fail because pycparser (which is a dependency of PyNaCl, which in turns is required by Paramiko, which GC3Pie uses) uses 2.7-only syntax in version 2.19. So if you depend on pycparser==2.18 it should work, right? Well, it turns out that pip does install pycparser==2.18 according to the Travis CI logs, but then ignores it and still tries to install the latest pycparser when installing PyNaCl... even if one lists PyNaCl==1.0.1 (last version to support Py2.6) in the dependencies!

I am really puzzled.

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Nov 27, 2018

@riccardomurri Which version of pip are you using in that context? We're not seeing that issue with the pip 9.0.3 (which is the latest that supports Python 2.6, it seems, since that was the version available after pip install --upgrade pip) being used by Travis in our tests (see https://travis-ci.org/easybuilders/easybuild-framework/jobs/460323743).
After pip install 'pycparser<2.19' and pip install 'python-daemon<2.0' now, pip install GC3Pie seems to be working just fine...

@riccardomurri
Copy link
Copy Markdown
Contributor

After pip install 'pycparser<2.19' and pip install 'python-daemon<2.0' now, pip install GC3Pie seems to be working just fine...

But you do this in Travis' script before installing GC3Pie, you do not do it from the setup.py script, right?

@boegel
Copy link
Copy Markdown
Member Author

boegel commented Nov 27, 2018

@riccardomurri That's right, and then pip picks up on those pre-installed packages when installing GC3Pie since they fit the requirements, see:

Requirement already satisfied: python-daemon in /home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages (from GC3Pie)
...
Requirement already satisfied: pycparser in /home/travis/virtualenv/python2.6.9/lib/python2.6/site-packages (from cffi>=1.1->bcrypt>=3.1.3->paramiko->GC3Pie)

@ocaisa ocaisa merged commit e452169 into easybuilders:develop Nov 27, 2018
@boegel boegel deleted the fix_py26_travis branch November 27, 2018 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants