Mark Mikofski added the comment: Snippets of "proprietary" code
`setup.py` ---------- # run clean or build libraries if they don't exist if 'clean' in sys.argv: try: os.remove(os.path.join(LIB_DIR, SOLPOSAM_LIB_FILE)) os.remove(os.path.join(LIB_DIR, SPECTRL2_LIB_FILE)) except OSError as err: sys.stderr.write('%s\n' % err) `core.py` --------- # load the DLL solposAM_dll = ctypes.cdll.LoadLibrary(SOLPOSAMDLL) _solposAM = solposAM_dll.solposAM After deleting files, setup.py tries to build, then runs test_cdlls.py a unittest that contains test_solposAM() that calls solposAM() and imports core.py that contains solposAM. Case 1: ------- I put the load library calls inside the function solposAM(). Function calls works as expected. I am able to delete dlls after interpreter exits and restarts using os.remove() Case 2: ------- I put the load library calls at the module level. Function calls works as expected. If I try to delete dlls after interpreter exits and restarts using os.remove() I get access denied, but I can delete them from windows explorer. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <http://bugs.python.org/issue14597> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com