[Bug 5121] New: setuptools installation of Mercurial broke with 3.7
mercurial-bugs at selenic.com
mercurial-bugs at selenic.com
Mon Feb 29 17:14:22 UTC 2016
https://bz.mercurial-scm.org/show_bug.cgi?id=5121
Bug ID: 5121
Summary: setuptools installation of Mercurial broke with 3.7
Product: Mercurial
Version: 3.7
Hardware: PC
OS: Linux
Status: UNCONFIRMED
Severity: feature
Priority: wish
Component: Mercurial
Assignee: bugzilla at selenic.com
Reporter: mads at kiilerich.com
CC: mercurial-devel at selenic.com
Kallithea has Mercurial as a setuptools requirement. That started causing
problems with recent Mercurial versions.
A reduced test case:
virtualenv venv
source venv/bin/activate
python -c 'import setuptools;
setuptools.setup(install_requires=["mercurial==3.7.0"])' develop
or
mkdir -p lib/python2.7/site-packages
PYTHONPATH=lib/python2.7/site-packages python -c 'import setuptools;
setuptools.setup(install_requires=["mercurial==3.7.0"])' develop --prefix=.
fails with
...
File "/usr/lib64/python2.7/pickle.py", line 971, in load_string
self.append(rep.decode("string-escape"))
File "/tmp/venv/lib64/python2.7/encodings/__init__.py", line 100, in
search_function
level=0)
File "/tmp/easy_install-fgdUFf/mercurial-3.7/mercurial/__init__.py", line 53,
in find_module
TypeError: argument of type 'NoneType' is not iterable
I guess it only can fail this way because the interpreter is shutting down ...
but it also doesn't seem like that.
It is scary that setuptools use pickle and that Mercurial code ends up being
invoked from pickle.
The same test case works when specifying 3.6.3 so it seems like changes in
Mercurial do that it no longer works. I guess it was caused by
https://selenic.com/hg/rev/4374d819ccd5 populating mercurial/__init__.py .
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the Mercurial-devel
mailing list