diff --git a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_eval_main.py b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_eval_main.py index 2f053959c3bd..8df189fa5e71 100644 --- a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_eval_main.py +++ b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_eval_main.py @@ -1,9 +1,9 @@ import os import sys -IS_PY36_OR_OLDER = False -if (sys.version_info[0] == 3 and sys.version_info[1] >= 6) or sys.version_info[0] > 3: - IS_PY36_OR_OLDER = True +IS_PY36 = False +if sys.version_info[0] == 3 and sys.version_info[1] == 6: + IS_PY36 = True frame_eval_func = None stop_frame_eval = None @@ -14,7 +14,7 @@ if USE_FRAME_EVAL == 'NO': frame_eval_func, stop_frame_eval = None, None else: - if IS_PY36_OR_OLDER: + if IS_PY36: try: from _pydevd_frame_eval.pydevd_frame_eval_cython_wrapper import frame_eval_func, stop_frame_eval except ImportError: diff --git a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator.cp36-win32.pyd b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator.cp36-win32.pyd deleted file mode 100644 index fef16d2a8f41..000000000000 Binary files a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator.cp36-win32.pyd and /dev/null differ diff --git a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator.cp36-win_amd64.pyd b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator.cp36-win_amd64.pyd deleted file mode 100644 index cbf7ccc86bce..000000000000 Binary files a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator.cp36-win_amd64.pyd and /dev/null differ diff --git a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator_win32_36_32.cp36-win32.pyd b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator_win32_36_32.cp36-win32.pyd new file mode 100644 index 000000000000..1676601c7682 Binary files /dev/null and b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator_win32_36_32.cp36-win32.pyd differ diff --git a/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator_win32_36_64.cp36-win_amd64.pyd b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator_win32_36_64.cp36-win_amd64.pyd new file mode 100644 index 000000000000..82079b332da0 Binary files /dev/null and b/python/helpers/pydev/_pydevd_frame_eval/pydevd_frame_evaluator_win32_36_64.cp36-win_amd64.pyd differ diff --git a/python/helpers/pydev/build_tools/build_binaries_windows.py b/python/helpers/pydev/build_tools/build_binaries_windows.py index c5ffdc182ff5..9424cc9934a5 100644 --- a/python/helpers/pydev/build_tools/build_binaries_windows.py +++ b/python/helpers/pydev/build_tools/build_binaries_windows.py @@ -108,7 +108,7 @@ def main(): python_install, os.path.join(root_dir, 'build_tools', 'build.py'), '--no-remove-binaries', '--target-pyd-name=%s' % new_name, '--force-cython'] if i != 0: args.append('--no-regenerate-files') - if python_install.startswith('36'): + if extract_version(python_install).startswith('36'): name_frame_eval = 'pydevd_frame_evaluator_%s_%s' % (sys.platform, extract_version(python_install)) args.append('--target-pyd-frame-eval=%s' % name_frame_eval) print('Calling: %s' % (' '.join(args))) diff --git a/python/helpers/pydev/setup_cython.py b/python/helpers/pydev/setup_cython.py index 36247846d005..b7ee7cf9bf00 100644 --- a/python/helpers/pydev/setup_cython.py +++ b/python/helpers/pydev/setup_cython.py @@ -33,7 +33,7 @@ def process_args(): return target_pydevd_name, target_frame_eval, force_cython -def build_extension(dir_name, extension_name, target_pydevd_name, force_cython): +def build_extension(dir_name, extension_name, target_pydevd_name, force_cython, has_pxd=False): pyx_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.pyx" % (extension_name,)) if target_pydevd_name != extension_name: @@ -49,6 +49,10 @@ def build_extension(dir_name, extension_name, target_pydevd_name, force_cython): new_c_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.c" % (target_pydevd_name,)) shutil.copy(pyx_file, new_pyx_file) pyx_file = new_pyx_file + if has_pxd: + pxd_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.pxd" % (extension_name,)) + new_pxd_file = os.path.join(os.path.dirname(__file__), dir_name, "%s.pxd" % (target_pydevd_name,)) + shutil.copy(pxd_file, new_pxd_file) assert os.path.exists(pyx_file) try: @@ -80,6 +84,12 @@ def build_extension(dir_name, extension_name, target_pydevd_name, force_cython): except: import traceback traceback.print_exc() + if has_pxd: + try: + os.remove(new_pxd_file) + except: + import traceback + traceback.print_exc() target_pydevd_name, target_frame_eval, force_cython = process_args() @@ -93,4 +103,4 @@ if sys.version_info[:2] == (3, 6): extension_name = "pydevd_frame_evaluator" if target_frame_eval is None: target_frame_eval = extension_name - build_extension("_pydevd_frame_eval", extension_name, target_frame_eval, force_cython) + build_extension("_pydevd_frame_eval", extension_name, target_frame_eval, force_cython, True)