-
Notifications
You must be signed in to change notification settings - Fork 369
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
New pip 9 breaks install of pyasn1 #276
Comments
I am also seeing this behavior. I've tried building on raspbian (2016-09-23-raspian-jessie.zip) and from ubuntu 16.04.1 x86. In both cases I am trying to build an octopi image based on the full raspbian jessie with pixel so I can also make use of the desktop features on the machine as well. At various times during the attempted build, I see a message like "sudo: unable to resolve host ubuntu-too" but "ping ubuntu-too" finds the correct ip address. |
Confirmed, |
cc @foosel |
Ran a diff against the build outputs. The only diffrence I can spot is that during pip upgrade:
|
Looks like a bug that only occurs with current pip version 9.x (which gets installed a couple steps prior). I can reproduce (even on an older raspbian I might add) via:
I cannot reproduce any more after downgrading pip to 8.1.2:
Looks like pip 9.x hiccups on the That whole mess with copying python ssl stuff back and forth was added in order to get a sane SSL environment in urllib3/requests under the (old) python version shipped with raspbian previously (see here for details). What's the currently available one? If it's >= 2.7.9, it might be possible to get rid of that whole madness which would be good. |
This is the bug in pip: pypa/pip#4059 fixed in 9.0.1 |
No. That's the issue you saw on your Jenkins, but I didn't see it when testing locally and neither did the log provided by @ScottDWebster contain that issue. That's not what's breaking installation of ndg-httpsclient here (pyasn1 installs fine btw, it's indeed ndg-httpsclient in the same pip call as asn1 that's causing the problem). |
Just ran a build with your fix and it fixes it: http://gnethomelinux.com:8080/job/OctoPi/800/console |
Note: we will need to revert this when pip 9.0.1 comes out. |
Pinning pip to version 8 is NOT a fix. It's a workaround, and pip 9.0.1 is already out and does also show that behaviour. This needs to be solved either by getting rid of that whole manual SSL setup for Python (which again is not necessary IF the current Raspbian ships with a Python version >= 2.7.9 OR at least allows upgrading to one, someone please test this, I can't right now!) or if that's not possible finding a (probably more resource intense) solution to the old pyopenssl debian package causing this issue with current pip versions. You need to solve the problem, not patch up the symptom. |
@foosel See the issue i posted from pip, its a vendor inside pip which I don't thing we can really control. One alternative would be to pull from https://github.com/pypa/pip/archive/9.0.1.zip . |
Again, there are TWO issues at work here,
Both issues are completely unrelated! One (the vendor thing) is an actual pip issue, but rather harmless. The other is a compatibility issue between the version of PyOpenSSL manually installed during an earlier step of the build script and pip versions >= 9.0 (including 9.0.1, which is already released and failing as well, see my posts above), and what's the actual problem that needs to be solved here. Since current Python version on Raspbian finally seems to be 2.7.9, try removing these lines from the build script INSTEAD of the downgrade/version pin of pip (so making this only read |
On Nov 21, 2016 18:10, "Gina Häußge" notifications@github.com wrote:
|
They are both not present in pip 8.1.2, which is what gets installed when you specify to install a pip version >= 8 and < 9 (your commit comment is also wrong in that regard, you pinned the install to 8.1.2, not 9.0.0 like the comment suggests - 9.0.0 would be ">=8,<=9.0.0"). That's the only way they are related, if you can call that related. Case in point: http://gnethomelinux.com:8080/job/OctoPi/798/console. Installs 9.0.1, no
Still breaks on the ndg-httpsclient line:
Two issues. Not one. The vendor thing is a red herring. |
By the way, "python -V" on the 2016-09-23 Raspbian Jessie (albeit an dist-upgraded version) says "Python 2.7.9". |
We no longer need to manually setup a solid SSL environment since that's already done for use with Python 2.7.9. The whole issue that we ran into with setting this up under Pip 9+ therefore can be circumvented without having to pin the pip version. Refer to guysoft#276
We no longer need to manually setup a solid SSL environment since that's already done for use with Python 2.7.9. The whole issue that we ran into with setting this up under Pip 9+ therefore can be circumvented without having to pin the pip version. Refer to guysoft#276
Hey guys, I got the same error when trying to get Error log:
Downgrading to pip 8.1.2 fixed it |
There is nothing we can really do here other than downgrading to pip 8.1.2. Someone would need to send a pull request to pip's team. |
Fixed in fb7093b |
While trying to build a new Octopi image on Rasbian I get the following ouput.
Collecting pyasn1
Downloading pyasn1-0.1.9-py2.py3-none-any.whl
Requirement already satisfied: PyOpenSSL in ./oprint/lib/python2.7/site-packages (from ndg-httpsclient)
Exception:
Traceback (most recent call last):
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/basecommand.py", line 215, in main
status = self.run(options, args)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/commands/install.py", line 324, in run
requirement_set.prepare_files(finder)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/req/req_set.py", line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/req/req_set.py", line 666, in _prepare_file
check_dist_requires_python(dist)
File "/home/pi/oprint/local/lib/python2.7/site-packages/pip/utils/packaging.py", line 48, in check_dist_requires_python
feed_parser.feed(metadata)
File "/usr/lib/python2.7/email/feedparser.py", line 177, in feed
self._input.push(data)
File "/usr/lib/python2.7/email/feedparser.py", line 99, in push
parts = data.splitlines(True)
AttributeError: 'NoneType' object has no attribute 'splitlines'
The version I am building off of is
Linux Rasbian 4.4.32-v7+ #924 SMP Tue Nov 15 18:11:28 GMT 2016 armv7l GNU/Linux
The text was updated successfully, but these errors were encountered: