Set correct names for importing frame eval extensions on windows

This commit is contained in:
Elizaveta Shashkova
2017-01-31 20:51:58 +03:00
parent ac3d9b52a1
commit 476734465d
7 changed files with 17 additions and 7 deletions
@@ -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:
@@ -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)))
+12 -2
View File
@@ -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)