Opened 9 years ago
Closed 9 years ago
#231 closed defect (fixed)
hush "missing service_identity" warning from Twisted
Reported by: | Brian Warner | Owned by: | |
---|---|---|---|
Priority: | major | Milestone: | 0.8.0 |
Component: | packaging | Version: | 0.7.0 |
Keywords: | Cc: |
Description
Modern Twisted complains if you use SSL but it cannot import the service_identity
module. This module parses X.590 certificates to check things like SubjectName
and CommonName
. Foolscap doesn't use these (it just hashes the entire certificate), but the only sane way to suppress the warning is to install service_identity
.
However doing this from setup.py
install_require=
runs into some sort of packaging bug: python setup.py install
complains that it can't find pyasn1 (full install log attached). This is weird, because it found pyasn1 just fine when I omitted service_identity
from the dependency list. Maybe something to do with the order in which the deps were searched and installed?
Attachments (2)
Change History (5)
Changed 9 years ago by
Attachment: | install-without-service_identity.txt added |
---|
Changed 9 years ago by
Attachment: | install-with-service_identity.txt added |
---|
install log *with* service_identity dependency
comment:1 Changed 9 years ago by
Installing it with pip install foolscap.tar.gz
works fine (and looks rather different: it uses cached tarballs, for one).
comment:2 Changed 9 years ago by
Also, running python setup.py install
twice in a row works ok. The first pass fails, but leaves pyasn1 in place, and the second pass sees it and completes successfully.
This sounds like a problem we had in Tahoe a while back, where one of our dependencies was importing (or trying to import) a subdependency during its build process, and the old/missing file got "stuck". That process was forever tainted, and was never able to believe the presence of a newer version.
comment:3 Changed 9 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
Ok, we're adding service_identity
as a dependency, and changing the README to recommend pip install .
rather than setup.py install
. From what I hear, pip is preferred these days, and doesn't happen to hit this problem.
We'll investigate the root problem later (probably some other dependency's setup.py requiring something without using a setup_requires=
declaration).
install log *without* service_identity dependency