@@ -32,12 +32,14 @@ def is_str(string):
3232 return isinstance (string , basestring )
3333
3434
35- def find_xml_generator (name = "castxml" ):
35+ def find_xml_generator (name = "castxml" , search_path = None ):
3636 """
3737 Try to find a c++ parser (xml generator)
3838
3939 Args:
4040 name (str): name of the c++ parser (e.g. castxml)
41+ search_path (str): helps finding castxml
42+ (for example in jupyter notebooks, use sys.path)
4143
4244 Returns:
4345 path (str), name (str): path to the xml generator and it's name
@@ -49,7 +51,8 @@ def find_xml_generator(name="castxml"):
4951 """
5052
5153 if sys .version_info [:2 ] >= (3 , 3 ):
52- path = _find_xml_generator_for_python_greater_equals_33 (name )
54+ path = _find_xml_generator_for_python_greater_equals_33 (
55+ name , search_path = search_path )
5356 else :
5457 path = _find_xml_generator_for_legacy_python (name )
5558
@@ -58,8 +61,8 @@ def find_xml_generator(name="castxml"):
5861 return path .rstrip (), name
5962
6063
61- def _find_xml_generator_for_python_greater_equals_33 (name ):
62- return shutil .which (name )
64+ def _find_xml_generator_for_python_greater_equals_33 (name , search_path = None ):
65+ return shutil .which (name , path = search_path )
6366
6467
6568def _find_xml_generator_for_legacy_python (name ):
0 commit comments