Environment =========== This documents import problem related to use of '.' in sys.path in 3.10.0b1. The tests were run in an up to date Archlinux system with uname -a giving Linux minikat 5.12.8-arch1-1 #1 SMP PREEMPT Fri, 28 May 2021 15:10:20 +0000 x86_64 GNU/Linux Python 3.10.0a7 (default, Apr 7 2021, 12:16:27) [GCC 10.2.0] on linux Python 3.10.0b1 (default, Jun 2 2021, 19:44:08) [GCC 11.1.0] on linux Failing Code ============ This is the code that fails in 3.10.0b1 (and 3.10.0b2). It succeeds in 3.10.0a7. opath = sys.path try: try: sys.path = path if debug or modulename=='test_014_scatterplot': print() print(20*'+') print('+++++ modulename=%s' % ascii(modulename)) print('+++++ cwd=%s' % ascii(os.getcwd())) print('+++++ sys.path=%s' % ascii(sys.path)) print('+++++ os.paths.isfile(%s)=%s' % (ascii('./%s.py'%modulename), ascii(os.path.isfile('./%s.py'%modulename)))) print('+++++ opath=%s' % ascii(opath)) print(20*'-') NS = {} exec('import %s as m' % modulename,NS) return NS['m'] except ImportError: annotateException( "\nCould not import %r\nusing sys.path %r in cwd=%r" % ( modulename,sys.path,os.getcwd()) ) except: e = sys.exc_info() msg = "Exception raised while importing '%s': %s" % (modulename, e[1]) annotateException(msg) finally: sys.path = opath if debug or modulename=='test_014_scatterplot': print('===== restore sys.path=%s' % repr(opath)) ============================3.10.0a7 (first printout) ............................ ++++++++++++++++++++ +++++ modulename='test_014_scatterplot' +++++ cwd='/home/robin/devel/reportlab/REPOS/rlextra/tests/rml2pdf' +++++ sys.path=['.', '/home/robin/devel/reportlab/rlextra/rml2pdf', '/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310a7/lib/python310.zip', '/home/robin/devel/reportlab/.py310a7/lib/python3.10', '/home/robin/devel/reportlab/.py310a7/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0a7/lib/python3.10', '/home/robin/devel/reportlab/.py310a7/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] +++++ os.paths.isfile('./test_014_scatterplot.py')=True +++++ opath=['/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310a7/lib/python310.zip', '/home/robin/devel/reportlab/.py310a7/lib/python3.10', '/home/robin/devel/reportlab/.py310a7/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0a7/lib/python3.10', '/home/robin/devel/reportlab/.py310a7/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] -------------------- ===== restore sys.path=['/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310a7/lib/python310.zip', '/home/robin/devel/reportlab/.py310a7/lib/python3.10', '/home/robin/devel/reportlab/.py310a7/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0a7/lib/python3.10', '/home/robin/devel/reportlab/.py310a7/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] other printouts elided ................................... ---------------------------------------------------------------------- Ran 88 tests in 11.166s OK ============================3.10.0b1 failure ............................ ++++++++++++++++++++ +++++ modulename='test_014_scatterplot' +++++ cwd='/home/robin/devel/reportlab/REPOS/rlextra/tests/rml2pdf' +++++ sys.path=['.', '/home/robin/devel/reportlab/rlextra/rml2pdf', '/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310b1/lib/python310.zip', '/home/robin/devel/reportlab/.py310b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] +++++ os.paths.isfile('./test_014_scatterplot.py')=True +++++ opath=['/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310b1/lib/python310.zip', '/home/robin/devel/reportlab/.py310b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] -------------------- ===== restore sys.path=['/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310b1/lib/python310.zip', '/home/robin/devel/reportlab/.py310b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] E ====================================================================== ERROR: testRml (__main__.RmlTestCase) rml2pdf: test_014_graphics.rml ---------------------------------------------------------------------- Traceback (most recent call last): File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 523, in recursiveImport rl_exec('import %s as m' % modulename,NS) File "", line 1, in ModuleNotFoundError: No module named 'test_014_scatterplot' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/robin/devel/reportlab/REPOS/rlextra/tests/rmltests.py", line 89, in testRml rml2pdf.go(source) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 6772, in go Controller.process(parsed, context) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 640, in process return joinflatten(self.processContent(elts, context, top_level=1)) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 648, in processContent return self.processTuple(elts, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 672, in processTuple e2 = processor.translate(e, self, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 813, in translate return MapNode.translate(self,nodetuple, controller, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 729, in translate pcontent = self.MyProcessContent(content, controller, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 763, in MyProcessContent return controller.processContent(content, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 657, in processContent e2 = self.processTuple(e, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 672, in processTuple e2 = processor.translate(e, self, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 729, in translate pcontent = self.MyProcessContent(content, controller, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 774, in MyProcessContent return controller.processContent(newcontent, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 657, in processContent e2 = self.processTuple(e, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 672, in processTuple e2 = processor.translate(e, self, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 736, in translate result = self.evaluate(tagname, sdict, pcontent, extra, context) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 5850, in evaluate modul = recursiveImport(moduleName, baseDir=importPath) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 526, in recursiveImport annotateException( File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 1448, in annotateException rl_reraise(t,t(sep.join((_ for _ in (msg,str(v),postMsg) if _))),b) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 171, in rl_reraise raise v.with_traceback(b) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 523, in recursiveImport rl_exec('import %s as m' % modulename,NS) File "", line 1, in ModuleNotFoundError: Could not import 'test_014_scatterplot' using sys.path ['.', '/home/robin/devel/reportlab/rlextra/rml2pdf', '/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310b1/lib/python310.zip', '/home/robin/devel/reportlab/.py310b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] in cwd='/home/robin/devel/reportlab/REPOS/rlextra/tests/rml2pdf' No module named 'test_014_scatterplot' During handling of the above exception, another exception occurred: Traceback (most recent call last): File "/home/robin/devel/reportlab/REPOS/rlextra/tests/rmltests.py", line 94, in testRml annotateException('while rendering %s' % self.fileName) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 1448, in annotateException rl_reraise(t,t(sep.join((_ for _ in (msg,str(v),postMsg) if _))),b) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 171, in rl_reraise raise v.with_traceback(b) File "/home/robin/devel/reportlab/REPOS/rlextra/tests/rmltests.py", line 89, in testRml rml2pdf.go(source) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 6772, in go Controller.process(parsed, context) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 640, in process return joinflatten(self.processContent(elts, context, top_level=1)) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 648, in processContent return self.processTuple(elts, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 672, in processTuple e2 = processor.translate(e, self, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 813, in translate return MapNode.translate(self,nodetuple, controller, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 729, in translate pcontent = self.MyProcessContent(content, controller, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 763, in MyProcessContent return controller.processContent(content, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 657, in processContent e2 = self.processTuple(e, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 672, in processTuple e2 = processor.translate(e, self, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 729, in translate pcontent = self.MyProcessContent(content, controller, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 774, in MyProcessContent return controller.processContent(newcontent, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 657, in processContent e2 = self.processTuple(e, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 672, in processTuple e2 = processor.translate(e, self, context, overrides) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 736, in translate result = self.evaluate(tagname, sdict, pcontent, extra, context) File "/home/robin/devel/reportlab/rlextra/rml2pdf/rml2pdf.py", line 5850, in evaluate modul = recursiveImport(moduleName, baseDir=importPath) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 526, in recursiveImport annotateException( File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 1448, in annotateException rl_reraise(t,t(sep.join((_ for _ in (msg,str(v),postMsg) if _))),b) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 171, in rl_reraise raise v.with_traceback(b) File "/home/robin/devel/reportlab/reportlab/lib/utils.py", line 523, in recursiveImport rl_exec('import %s as m' % modulename,NS) File "", line 1, in ModuleNotFoundError: while rendering test_014_graphics.rml Could not import 'test_014_scatterplot' using sys.path ['.', '/home/robin/devel/reportlab/rlextra/rml2pdf', '/home/robin/devel/reportlab/REPOS/rlextra/tests', '/home/robin/devel/reportlab/.py310b1/lib/python310.zip', '/home/robin/devel/reportlab/.py310b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/lib-dynload', '/home/robin/LOCAL/3.10.0b1/lib/python3.10', '/home/robin/devel/reportlab/.py310b1/lib/python3.10/site-packages', '/home/robin/devel/reportlab'] in cwd='/home/robin/devel/reportlab/REPOS/rlextra/tests/rml2pdf' No module named 'test_014_scatterplot' ---------------------------------------------------------------------- Ran 29 tests in 3.786s FAILED (errors=1) BUILD ===== myconf.sh CFLAGS="-march=x86-64 -mtune=generic -O3 -pipe -fno-plt -fno-semantic-interposition" LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -rpath=$HOME/LOCAL/3.10.0b1/lib -fno-semantic-interposition" #--enable-shared \ ./configure \ --prefix=$HOME/LOCAL/3.10.0b1 \ --with-computed-gotos \ --enable-optimizations \ --with-lto \ --enable-ipv6 \ --with-system-expat \ --with-dbmliborder=gdbm:ndbm \ --with-system-ffi \ --with-system-libmpdec \ --enable-loadable-sqlite-extensions && make EXTRA_CFLAGS="$CFLAGS" && make install