-
Notifications
You must be signed in to change notification settings - Fork 3k
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
pip list --outdated
fails on platforms without sem_open
#8161
Comments
The issue in the above log is https://bugs.python.org/issue3770 |
This import was introduced as a part of #7964. We probably should disable parallellisation when this happens. cc @CrafterKolyan |
Can we try and fix it the way Cpython detects it ? |
See the last comment on that bug report, it's been closed for over 10 years. If this is a Python issue, it would need to be raised as a new bug. Following the Python docs, However, this does bring up the point that in Python older than 3.7, threading is an optional module, so pip should probably fall back to the old code when threading isn't available. In which case, we don't care about why multiprocessing.dummy doesn't work, and the OP's issue gets solved as well.
I'd just say that if the multiprocessing.dummy import fails, we should fall back to the single-threaded code. |
TBH, at this point, I feel like we should revert the original PR until we figure out the finer details of what we want parallelized code in pip to look like, what strategy we use to support platforms that don't have threading etc. Originally posted by @pradyunsg in #8162 (comment) |
Environment
Description
running
pip list -o
leads to anImportError
inmultiprocessing.dummy
:"ImportError: This platform lacks a functioning sem_open implementation, therefore, the required synchronization primitives needed will not function, see issue 3770.”
not bothering with traceback, since it's easily traced to the use of
multiprocessing.dummy.Pool
in commands/list.py line 216.The text was updated successfully, but these errors were encountered: