2

I want to install ludwig from uber from source on a gpu server I got access to. I don't have admin rights there.

The steps I use are documented in the getting started steps from ludwig:

git clone https://github.com/uber/ludwig.git
cd ludwig
git checkout db6c90a
virtualenv -p python3 venv
source venv/bin/activate
pip install -r requirements.txt
python -m spacy download en
python setup.py install

I'm just checking out to a custom branch and change tensorflow to tensorflow-gpu==1.12.0 in the requirements.txt.

While running the virtualenv installation step I always ran into this TypeError:

TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'

OSError: Command /data/home/jburkard/ludwig/venv/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2

I already tried all of the steps mentioned in this issue. But I neither use a proxy nor did the other tipps help.

It would be really great to get some more tips on what I can try out!

Full traceback:

jtheb@gpu:~/ludwig$ virtualenv -p python3 venv
Already using interpreter /usr/bin/python3
Using base prefix '/usr'
New python executable in /data/home/jtheb/ludwig/venv/bin/python3
Also creating executable in /data/home/jtheb/ludwig/venv/bin/python
Installing setuptools, pkg_resources, pip, wheel...
  Complete output from command /data/home/jtheb/ludwig/venv/bin/python3 - setuptools pkg_resources pip wheel:
  Collecting setuptools
Exception:
Traceback (most recent call last):
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connection.py", line 138, in _new_conn
    (self.host, self.port), self.timeout, **extra_kw)
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/connection.py", line 98, in create_connection
    raise err
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/connection.py", line 88, in create_connection
    sock.connect(sa)
socket.timeout: timed out

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 594, in urlopen
    chunked=chunked)
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 361, in _make_request
    conn.request(method, url, **httplib_request_kw)
  File "/usr/lib/python3.5/http/client.py", line 1107, in request
    self._send_request(method, url, body, headers)
  File "/usr/lib/python3.5/http/client.py", line 1152, in _send_request
    self.endheaders(body)
  File "/usr/lib/python3.5/http/client.py", line 1103, in endheaders
    self._send_output(message_body)
  File "/usr/lib/python3.5/http/client.py", line 934, in _send_output
    self.send(msg)
  File "/usr/lib/python3.5/http/client.py", line 877, in send
    self.connect()
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connection.py", line 163, in connect
    conn = self._new_conn()
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connection.py", line 143, in _new_conn
    (self.host, self.timeout))
pip._vendor.requests.packages.urllib3.exceptions.ConnectTimeoutError: (<pip._vendor.requests.packages.urllib3.connection.HTTPConnection object at 0x7fe436346898>, 'Connection to 192.168.24.3 timed out. (connect timeout=15)')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/basecommand.py", line 215, in main
    status = self.run(options, args)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/commands/install.py", line 353, in run
    wb.build(autobuilding=True)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/wheel.py", line 749, in build
    self.requirement_set.prepare_files(self.finder)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/req/req_set.py", line 380, in prepare_files
    ignore_dependencies=self.ignore_dependencies))
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/req/req_set.py", line 554, in _prepare_file
    require_hashes
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/req/req_install.py", line 278, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/index.py", line 465, in find_requirement
    all_candidates = self.find_all_candidates(req.name)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/index.py", line 423, in find_all_candidates
    for page in self._get_pages(url_locations, project_name):
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/index.py", line 568, in _get_pages
    page = self._get_page(location)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/index.py", line 683, in _get_page
    return HTMLPage.get_page(link, session=self.session)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/index.py", line 792, in get_page
    "Cache-Control": "max-age=600",
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 501, in get
    return self.request('GET', url, **kwargs)
  File "/usr/share/python-wheels/pip-9.0.1-py2.py3-none-any.whl/pip/download.py", line 386, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 488, in request
    resp = self.send(prep, **send_kwargs)
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/sessions.py", line 609, in send
    r = adapter.send(request, **kwargs)
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/requests-2.12.4-py2.py3-none-any.whl/requests/adapters.py", line 423, in send
    timeout=timeout
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 643, in urlopen
    _stacktrace=sys.exc_info()[2])
  File "/data/home/jtheb/ludwig/venv/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/util/retry.py", line 315, in increment
    total -= 1
TypeError: unsupported operand type(s) for -=: 'Retry' and 'int'
----------------------------------------
...Installing setuptools, pkg_resources, pip, wheel...done.
Traceback (most recent call last):
  File "/usr/bin/virtualenv", line 11, in <module>
    load_entry_point('virtualenv==15.1.0', 'console_scripts', 'virtualenv')()
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 724, in main
    symlink=options.symlink)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 992, in create_environment
    download=download,
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 922, in install_wheel
    call_subprocess(cmd, show_stdout=False, extra_env=env, stdin=SCRIPT)
  File "/usr/lib/python3/dist-packages/virtualenv.py", line 817, in call_subprocess
    % (cmd_desc, proc.returncode))
OSError: Command /data/home/jtheb/ludwig/venv/bin/python3 - setuptools pkg_resources pip wheel failed with error code 2
Richard Chambers
  • 16,643
  • 4
  • 81
  • 106
JtheB
  • 98
  • 6
  • What is the full traceback? – roganjosh Apr 12 '19 at 11:37
  • 1
    Can you try `python3 -m venv venv` instead of `virtualenv -p python3 venv`? You may need to remove the broken venv directory first. – blubberdiblub Apr 12 '19 at 11:41
  • @roganjosh I added the full traceback. @blubberdiblub `python3 -m venv venv` doesnt work, it throws `The virtual environment was not created successfully because ensurepip is not available. On Debian/Ubuntu systems, you need to install the python3-venv package`. I'll try to get an admin to install that. – JtheB Apr 12 '19 at 11:47
  • You can't ping multiple people in a comment so I'll do it for you: @blubberdiblub the OP responded – roganjosh Apr 12 '19 at 11:49
  • It's ok, their admin has to act first anyway ;) – blubberdiblub Apr 12 '19 at 11:50
  • @blubberdiblub this helped installing the venv, but sadly the error from the next installation step throws the same TypeErrors as before while collecting a package from pip: `pip._vendor.requests.packages.urllib3.exceptions.ConnectTimeoutError: (, 'Connection to 192.168.24.3 timed out. (connect timeout=15)')` So maybe there is a connection issue I don't know anything about. :/ – JtheB Apr 12 '19 at 12:55
  • Try upgrading pip while the virtualenv is activated. `pip install --upgrade --force-reinstall pip` Also, 192.168.24.3 is an address from one of the private ranges, so it's supposedly trying to connect through a proxy or something maybe? – blubberdiblub Apr 12 '19 at 12:58
  • Upgrading didn't work as well. There shouldn't be any proxy. I've asked that already. But maybe there's something else configured. I'll ask about that. – JtheB Apr 12 '19 at 13:17

1 Answers1

0

It turned out that there was a custom pypi server configured in the docker but the server was at a remote location, which had no access to it, and that's why the install failed. Removing this link helped installing it from the online sources.

Switching from virtualenv -p python3 venv to python3 -m venv venv in the before mentioned steps also helped.

JtheB
  • 98
  • 6