mirror of
https://github.com/microsoft/debugpy.git
synced 2025-12-23 08:48:12 +00:00
Check if os.__file__ is available before using it (#1944)
* check if os.file is available before using it * use threading.__file__ als last fallback
This commit is contained in:
parent
b00a812997
commit
2eb3afede0
2 changed files with 10 additions and 2 deletions
|
|
@ -155,7 +155,8 @@ class FilesFiltering(object):
|
|||
|
||||
# Make sure we always get at least the standard library location (based on the `os` and
|
||||
# `threading` modules -- it's a bit weird that it may be different on the ci, but it happens).
|
||||
roots.append(os.path.dirname(os.__file__))
|
||||
if hasattr(os, "__file__"):
|
||||
roots.append(os.path.dirname(os.__file__))
|
||||
roots.append(os.path.dirname(threading.__file__))
|
||||
if IS_PYPY:
|
||||
# On PyPy 3.6 (7.3.1) it wrongly says that sysconfig.get_path('stdlib') is
|
||||
|
|
|
|||
|
|
@ -88,7 +88,14 @@ def _get_library_dir():
|
|||
break
|
||||
|
||||
if library_dir is None or not os_path_exists(library_dir):
|
||||
library_dir = os.path.dirname(os.__file__)
|
||||
if hasattr(os, "__file__"):
|
||||
# "os" is a frozen import an thus "os.__file__" is not always set.
|
||||
# See https://github.com/python/cpython/pull/28656
|
||||
library_dir = os.path.dirname(os.__file__)
|
||||
else:
|
||||
# "threading" is not a frozen import an thus "threading.__file__" is always set.
|
||||
import threading
|
||||
library_dir = os.path.dirname(threading.__file__)
|
||||
|
||||
return library_dir
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue