Issue #199: Installation from repository source fails
Reported by: | Konstantin Veretennicov |
State: | closed |
Created on: | 2016-03-04 07:12 |
Updated on: | 2018-06-10 09:33 |
Description
I am installing from source on Ubuntu 15.10, according to http://docs.kallithea-scm.org/en/latest/installation.html#installation-from-repository-source
python2 setup.py develop
step fails in Mercurial setup:
Running mercurial-3.7.2/setup.py -q bdist_egg --dist-dir /tmp/easy_install-a_EOOe/mercurial-3.7.2/egg-dist-tmp-eMXa3f Traceback (most recent call last): File "setup.py", line 190, in <module> """, File "/usr/lib/python2.7/distutils/core.py", line 151, in setup dist.run_commands() File "/usr/lib/python2.7/distutils/dist.py", line 953, in run_commands self.run_command(cmd) File "/usr/lib/python2.7/distutils/dist.py", line 972, in run_command cmd_obj.run() File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/develop.py", line 34, in run self.install_for_development() File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/develop.py", line 133, in install_for_development self.process_distribution(None, self.dist, not self.no_deps) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 720, in process_distribution [requirement], self.local_index, self.easy_install File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 827, in resolve dist = best[req.key] = env.best_match(req, ws, installer) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1072, in best_match return self.obtain(req, installer) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/pkg_resources/__init__.py", line 1084, in obtain return installer(requirement) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 640, in easy_install return self.install_item(spec, dist.location, tmpdir, deps) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 670, in install_item dists = self.install_eggs(spec, download, tmpdir) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 853, in install_eggs return self.build_and_install(setup_script, setup_base) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1081, in build_and_install self.run_setup(setup_script, setup_base, args) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/command/easy_install.py", line 1067, in run_setup run_setup(setup_script, args) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/sandbox.py", line 246, in run_setup raise File "/usr/lib/python2.7/contextlib.py", line 35, in __exit__ self.gen.throw(type, value, traceback) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/sandbox.py", line 195, in setup_context yield File "/usr/lib/python2.7/contextlib.py", line 35, in __exit__ self.gen.throw(type, value, traceback) File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/sandbox.py", line 166, in save_modules saved_exc.resume() File "/home/kveretennicov/work/spam/kallithea-venv/local/lib/python2.7/site-packages/setuptools/sandbox.py", line 140, in resume type, exc = map(pickle.loads, self._saved) File "/usr/lib/python2.7/pickle.py", line 1382, in loads return Unpickler(file).load() File "/usr/lib/python2.7/pickle.py", line 858, in load dispatch[key](self) File "/usr/lib/python2.7/pickle.py", line 971, in load_string self.append(rep.decode("string-escape")) File "/home/kveretennicov/work/spam/kallithea-venv/lib/python2.7/encodings/__init__.py", line 100, in search_function level=0) File "/tmp/easy_install-a_EOOe/mercurial-3.7.2/mercurial/__init__.py", line 53, in find_module TypeError: argument of type 'NoneType' is not iterable
Some info:
(kallithea-venv)kveretennicov@azelle:~/work/spam/kallithea$ hg id 941548131765 (stable) tip (kallithea-venv)kveretennicov@azelle:~/work/spam/kallithea$ python2 --version Python 2.7.10
I see the same on Windows with Python 2.7.11.
It succeeds if I hg up -r 0.3
.
Attachments
Comments
Comment by Andrej Shadura, on 2016-03-04 08:47
Yep, known issue with Mercurial and easy_install, I ran into it a week ago.
Comment by Andrej Shadura, on 2016-03-04 08:50
As a temporary fix, 94154813 introduced possibility to install Kallithea using pip install -r requirements.txt
.
Comment by Mads Kiilerich, on 2016-03-04 11:25
Yes, will be "fixed" in 0.3.1 very soon. The one-step-closer-to-root cause is tracked on https://bz.mercurial-scm.org/show_bug.cgi?id=5121 .
Workaround: instead of setup.py develop
, use pip install -e .
... or run pip install mercurial
before setup.py
.
Comment by Konstantin Veretennicov, on 2016-03-13 23:06
pip install mercurial
did the trick for me (pip install -r requirements.txt
and pip install -e .
didn't).
Comment by Mads Kiilerich, on 2016-03-13 23:13
How did pip install -e .
fail? (Can you reproduce after pip uninstall mercurial
?)
Comment by Konstantin Veretennicov, on 2016-03-13 23:27
I seem to recall it failed similar to https://ci.appveyor.com/project/kveretennicov/kallithea/build/44#L1520
Comment by Mads Kiilerich, on 2016-03-13 23:38
That has been reported before on windows - 183.html and http://lists.sfconservancy.org/pipermail/kallithea-general/2016q1/001538.html . I don't know if the exact reason has been found ... but it seems like the problem eventually goes away ...
I just merged stable to default, so pip install -r requirements.txt
should work there too ... or at least "work equally well".
Comment by Konstantin Veretennicov, on 2016-03-14 07:34
I added a separate build to experiment with installation options. On latest default
I get:
pip install mercurial + python setup.py develop
-> successpython setup.py develop
-> TypeError with mercurialpip install -e .
-> SandboxViolation with MochiKitpip install -r requirementx.txt
-> SandboxViolation with MochiKit
As far as I can tell, AppVeyor build workers are plain Windows Server 2012 R2 with some bits of software pre-installed. More or less kind of the box where I would expect Windows people to install Kallithea.
Pinging @domruf too as I recall his interest in Windows and CI.
Comment by Mads Kiilerich, on 2016-03-14 09:56
The MochiKit issue should perhaps be filed and tracked as a separate issue. Especially since it seems to be windows only? Edit: it is already filed on 183.html - please continue there.
- Can you reproduce locally?
- Could it be related to Python 2.7.11?
- Can it be worked around by
pip install Paste==2.0.2
?
Comment by Thomas De Schampheleire, on 2018-06-10 09:33
Problem assumed fixed, please reopen if it's not the case