Skip to content

Instantly share code, notes, and snippets.

@oxr463
Created February 6, 2020 00:44
Show Gist options
  • Select an option

  • Save oxr463/f37a931c3ebeea5eeba6c44e2e5f318b to your computer and use it in GitHub Desktop.

Select an option

Save oxr463/f37a931c3ebeea5eeba6c44e2e5f318b to your computer and use it in GitHub Desktop.
Cannot install virtualenv via pip3 on Android in Termux
$ pip3.8 install virtualenv
ERROR: Exception:
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 153, in _main
    status = self.run(options, args)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/commands/install.py", line 382, in run
    resolver.resolve(requirement_set)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 201, in resolve
    self._resolve_one(requirement_set, req)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 365, in _resolve_one
    abstract_dist = self._get_abstract_dist_for(req_to_install)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/legacy_resolve.py", line 311, in _get_abstract_dist_for
    req.populate_link(self.finder, upgrade_allowed, self.require_hashes)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/req/req_install.py", line 225, in populate_link
    self.link = finder.find_requirement(self, upgrade)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/index.py", line 878, in find_requirement
    best_candidate_result = self.find_best_candidate(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/index.py", line 861, in find_best_candidate
    candidates = self.find_all_candidates(project_name)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/index.py", line 791, in find_all_candidates
    collected_links = self._link_collector.collect_links(project_name)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/collector.py", line 541, in collect_links
    for page in self._get_pages(url_locations):
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/collector.py", line 493, in _get_pages
    page = _get_html_page(location, session=self.session)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/collector.py", line 339, in _get_html_page
    resp = _get_html_response(url, session=session)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/collector.py", line 129, in _get_html_response
    resp = session.get(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/requests/sessions.py", line 546, in get
    return self.request('GET', url, **kwargs)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_internal/network/session.py", line 426, in request
    return super(PipSession, self).request(method, url, *args, **kwargs)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/requests/sessions.py", line 533, in request
    resp = self.send(prep, **send_kwargs)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/requests/sessions.py", line 646, in send
    r = adapter.send(request, **kwargs)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/cachecontrol/adapter.py", line 53, in send
    resp = super(CacheControlAdapter, self).send(request, **kw)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/requests/adapters.py", line 439, in send
    resp = conn.urlopen(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/urllib3/connectionpool.py", line 665, in urlopen
    httplib_response = self._make_request(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/urllib3/connectionpool.py", line 376, in _make_request
    self._validate_conn(conn)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/urllib3/connectionpool.py", line 994, in _validate_conn
    conn.connect()
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/urllib3/connection.py", line 368, in connect
    self.ssl_context = create_urllib3_context(
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/urllib3/util/ssl_.py", line 286, in create_urllib3_context
    context.verify_mode = cert_reqs
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/pip/_vendor/urllib3/contrib/pyopenssl.py", line 438, in verify_mode
    self._ctx.set_verify(_stdlib_to_openssl_verify[value], _verify_callback)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/OpenSSL/SSL.py", line 1108, in set_verify
    self._verify_helper = _VerifyHelper(callback)
  File "/data/data/com.termux/files/usr/lib/python3.8/site-packages/OpenSSL/SSL.py", line 332, in __init__
    self.callback = _ffi.callback(
SystemError: ffi_prep_closure(): bad user_data (it seems that the version of the libffi library seen at runtime is different from the 'ffi.h' file seen at compile-time)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment