Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The latest pip version (20.1) doesn't work due to issue 3770 #5222

Closed
yubrajbhoi opened this issue Apr 29, 2020 · 3 comments
Closed

The latest pip version (20.1) doesn't work due to issue 3770 #5222

yubrajbhoi opened this issue Apr 29, 2020 · 3 comments

Comments

@yubrajbhoi
Copy link

Problem description

Pip version 20.0.2 works perfectly but the new version 20.1 uses semaphore from the multiprocessing package. Which isn't available in Android.

ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

Steps to reproduce

Run pip list --outdated.

Expected behavior

It should work. Or we may be stuck with an outdated pip forever.

Additional information

Packages CPU architecture:
arm
Subscribed repositories:
# sources.list
deb https://termux.org/packages/ stable main
# science-repo (sources.list.d/science.list)
deb https://dl.bintray.com/grimler/science-packages-24 science stable
# game-repo (sources.list.d/game.list)
deb https://dl.bintray.com/grimler/game-packages-24 games stable
# unstable-repo (sources.list.d/unstable.list)
deb https://dl.bintray.com/xeffyr/unstable-packages unstable main
Updatable packages:
All packages up to date
Android version:
8.1.0
Kernel build information:
Linux localhost 3.18.71-perf-gea366bb-00016-g6e15bdb #1 SMP PREEMPT Mon Mar 4 18:13:35 CST 2019 armv7l Android
Device manufacturer:
motorola
Device model:
Moto G (5)
@yubrajbhoi yubrajbhoi changed the title The latest pip version doesn't work due to issue 3770 The latest pip version (20.1) doesn't work due to issue 3770 Apr 29, 2020
@yubrajbhoi
Copy link
Author

yubrajbhoi commented Apr 29, 2020

Looks like someone already raised the issue at pypa/pip#8161. Hopefully it will get merged soon.

@deveshks
Copy link

Could you also provide the entire traceback which you see when you run pip list --outdated ?

@yubrajbhoi
Copy link
Author

@deveshks Sure.

ERROR: Exception:
Traceback (most recent call last):
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/synchronize.py", line 28, in <module>
    from _multiprocessing import SemLock, sem_unlink
ImportError: cannot import name 'SemLock' from '_multiprocessing' (/data/data/com.termux/files/usr/lib/python3.8/lib-dynload/_multiprocessing.cpython-38.so)

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/data/data/com.termux/files/home/code/python/venvs/test_pip/lib/python3.8/site-packages/pip/_internal/cli/base_command.py", line 188, in _main
    status = self.run(options, args)
  File "/data/data/com.termux/files/home/code/python/venvs/test_pip/lib/python3.8/site-packages/pip/_internal/commands/list.py", line 160, in run
    packages = self.get_outdated(packages, options)
  File "/data/data/com.termux/files/home/code/python/venvs/test_pip/lib/python3.8/site-packages/pip/_internal/commands/list.py", line 167, in get_outdated
    return [
  File "/data/data/com.termux/files/home/code/python/venvs/test_pip/lib/python3.8/site-packages/pip/_internal/commands/list.py", line 167, in <listcomp>
    return [
  File "/data/data/com.termux/files/home/code/python/venvs/test_pip/lib/python3.8/site-packages/pip/_internal/commands/list.py", line 216, in iter_packages_latest_infos
    pool = Pool(DEFAULT_POOLSIZE)
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/dummy/__init__.py", line 124, in Pool
    return ThreadPool(processes, initializer, initargs)
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/pool.py", line 922, in __init__
    Pool.__init__(self, processes, initializer, initargs)
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/pool.py", line 196, in __init__
    self._change_notifier = self._ctx.SimpleQueue()
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/context.py", line 113, in SimpleQueue
    return SimpleQueue(ctx=self.get_context())
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/queues.py", line 336, in __init__
    self._rlock = ctx.Lock()
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/context.py", line 67, in Lock
    from .synchronize import Lock
  File "/data/data/com.termux/files/usr/lib/python3.8/multiprocessing/synchronize.py", line 30, in <module>
    raise ImportError("This platform lacks a functioning sem_open" +
ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.

@ghost ghost locked and limited conversation to collaborators Oct 9, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants