ec5f52c7c6
Bundles debugpy 1.7.0 directly in python/ so "Maya: Attach (debugpy)" works with no per-machine pip install step. Installed via Maya 2022's own pip so it resolved a version actually compatible with Python 3.7 (Maya 2022's interpreter), then verified import + listen() succeeds under all three target Maya Python versions (3.7/3.9/3.10). Also fixes a latent __file__-under-exec() bug in start_debug_server.py (same pitfall as Maya's own plugin loader, never hit until this exercised it) and corrects the README's Maya Python version claim -- 2022 ships Python 3.7, not 3.9 as previously stated, which was never independently verified until now. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
49 lines
1.2 KiB
Python
49 lines
1.2 KiB
Python
# Copyright (c) Microsoft Corporation. All rights reserved.
|
|
# Licensed under the MIT License. See LICENSE in the project root
|
|
# for license information.
|
|
|
|
from . import VENDORED_ROOT
|
|
from ._util import cwd, iter_all_files
|
|
|
|
|
|
INCLUDES = [
|
|
'setup_pydevd_cython.py',
|
|
]
|
|
|
|
|
|
def iter_files():
|
|
# From the root of pydevd repo, we want only scripts and
|
|
# subdirectories that constitute the package itself (not helper
|
|
# scripts, tests etc). But when walking down into those
|
|
# subdirectories, we want everything below.
|
|
|
|
with cwd(VENDORED_ROOT):
|
|
return iter_all_files('pydevd', prune_dir, exclude_file)
|
|
|
|
|
|
def prune_dir(dirname, basename):
|
|
if basename == '__pycache__':
|
|
return True
|
|
elif dirname != 'pydevd':
|
|
return False
|
|
elif basename.startswith('pydev'):
|
|
return False
|
|
elif basename.startswith('_pydev'):
|
|
return False
|
|
return True
|
|
|
|
|
|
def exclude_file(dirname, basename):
|
|
if dirname == 'pydevd':
|
|
if basename in INCLUDES:
|
|
return False
|
|
elif not basename.endswith('.py'):
|
|
return True
|
|
elif 'pydev' not in basename:
|
|
return True
|
|
return False
|
|
|
|
if basename.endswith('.pyc'):
|
|
return True
|
|
return False
|