-
Notifications
You must be signed in to change notification settings - Fork 107
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
mock 1.1+ dependencies not installed with pip < 1.5 (Travis containers, Ubuntu 12.04.5 LTS, CentOS/RHEL 7) #316
Comments
Same problem here with Python 2.6. The fix should be really simple: Add funcsigs as dependency to the setup.py. |
It looks like funcsigs was added to |
I think you have an old version of pip. Try running 'pip list' and paste the output here. |
@rbtcollins confirmed! Had this error, too. As a cookbook:
|
This combination works fine:
I also tested successfully with pip 1.5.0, funcsigs was installed and mock was working. So 1.5.0 is the first pip version that can properly install mock. That might become a long-standing issue, because even CentOS/RHEL 7 seem to ship with pip 1.4.1 and mock does not install without manual intervention. |
At first I thought
Feel free to close this bug report, but I find it a bit concerning that such a standard tool as |
It also seems fairly easy to fix (add |
So if make funcsigs an unconditional dependency (it is already a dependency - putting that declaration in setup.py changes nothing), then funcsigs will be installed everywhere rather than just on the old releases of Python that need it. But more fundamentally, PyPI is a moving target - pip 1.1 is missing 4 years of pretty significant improvements. The bigger concern for me is that folk are using pip from 4 years ago and expecting it to work! My thought pattern is this for folk using an LTS Linux distribution or similar - you have a choice:
If we as a community support '3. Use pip or whatever and only install your thing' the consequence is that the improvement cycle time for pip and services like PyPI will be decades. Thats pretty much intolerable. Now there is a balance - things that degrade badly are poor, and this seems to be degrading badly on older pips - we need to find a way to error on pip < 1.5.x - for both wheels and sdists. Since we're going to be in an ecosystem for another 15-20 years where thats the case. |
@dstufft has suggested a workaround approach - https://bugs.launchpad.net/pbr/+bug/1502692 |
@PyDeQ this bug has -nothing- to do with pbr : it has everything to do with pip < 1.5 not supporting environment markers. See https://www.python.org/dev/peps/pep-0508/ for the current spec if you're interested. The pbr bug is suggesting how pbr can improve the situation by encoding a complex workaround for all users of pbr. The three bugs that you mention are all to do with interop with old - in some cases glacially ancient - versions of setuptools. I'm not aware of any bugs in mock that are pbr's cause today. If you are please file a separate ticket about that, with reproduction instructions. |
Huh, you are right. Maybe I assumed that funcsigs is a dependency of pbr, maybe I got confused by all the bugs I read that day... Don't know... My apologies :-( That means that there is currently only one mock issue caused by pbr that I am aware of: #314 (comment) Sorry for hijacking the thread :-( |
My guess is that things have moved on sine this issue was last touched, so closing. If there are still problems, please comment and we'll re-open. |
I just tried to install mock in virtualenv on Travis container based infrastructure (Python 2.7.3). By default, I get
mock requires setuptools>=17.1. Aborting installation
, so I went ahead withpip install -U setuptools
which upgraded it to 18.2. However,mock
doesn't pull in thefuncsigs
dependency...This is a blocker for certbot/certbot#722, I would appreciate your help!
Related: #262
The text was updated successfully, but these errors were encountered: