@@ -464,28 +464,34 @@ public void initializeHomeAndPrefixPaths(Env newEnv, String languageHome) {
464
464
stdLibHome = newEnv .getOptions ().get (PythonOptions .StdLibHome );
465
465
capiHome = newEnv .getOptions ().get (PythonOptions .CAPI );
466
466
467
- PythonCore .writeInfo ((MessageFormat .format ("Initial locations:" +
467
+ PythonCore .writeInfo (() -> MessageFormat .format ("Initial locations:" +
468
468
"\n \t Language home: {0}" +
469
469
"\n \t SysPrefix: {1}" +
470
470
"\n \t BaseSysPrefix: {2}" +
471
471
"\n \t CoreHome: {3}" +
472
472
"\n \t StdLibHome: {4}" +
473
- "\n \t CAPI: {5}" , languageHome , sysPrefix , basePrefix , coreHome , stdLibHome , capiHome ))) ;
473
+ "\n \t CAPI: {5}" , languageHome , sysPrefix , basePrefix , coreHome , stdLibHome , capiHome ));
474
474
475
- TruffleFile home = null ;
476
- if (languageHome != null ) {
477
- home = newEnv .getInternalTruffleFile (languageHome );
475
+ String envHome = null ;
476
+ try {
477
+ envHome = System .getenv ("GRAAL_PYTHONHOME" );
478
+ } catch (SecurityException e ) {
478
479
}
479
480
480
- try {
481
- String envHome = System .getenv ("GRAAL_PYTHONHOME" );
482
- if (envHome != null ) {
483
- TruffleFile envHomeFile = newEnv .getInternalTruffleFile (envHome );
484
- if (envHomeFile .isDirectory ()) {
485
- home = envHomeFile ;
486
- }
481
+ final TruffleFile home ;
482
+ if (languageHome != null && envHome == null ) {
483
+ home = newEnv .getInternalTruffleFile (languageHome );
484
+ } else if (envHome != null ) {
485
+ boolean envHomeIsDirectory = false ;
486
+ TruffleFile envHomeFile = null ;
487
+ try {
488
+ envHomeFile = newEnv .getInternalTruffleFile (envHome );
489
+ envHomeIsDirectory = envHomeFile .isDirectory ();
490
+ } catch (SecurityException e ) {
487
491
}
488
- } catch (SecurityException e ) {
492
+ home = envHomeIsDirectory ? envHomeFile : null ;
493
+ } else {
494
+ home = null ;
489
495
}
490
496
491
497
if (home != null ) {
@@ -540,13 +546,14 @@ public void initializeHomeAndPrefixPaths(Env newEnv, String languageHome) {
540
546
capiHome = base .relativize (newEnv .getInternalTruffleFile (capiHome )).getPath ();
541
547
}
542
548
543
- PythonCore .writeInfo ((MessageFormat .format ("Updated locations:" +
549
+ PythonCore .writeInfo (() -> MessageFormat .format ("Updated locations:" +
544
550
"\n \t Language home: {0}" +
545
551
"\n \t SysPrefix: {1}" +
546
- "\n \t SysBasePrefix : {2}" +
552
+ "\n \t BaseSysPrefix : {2}" +
547
553
"\n \t CoreHome: {3}" +
548
554
"\n \t StdLibHome: {4}" +
549
- "\n \t Executable: {6}" , home .getPath (), sysPrefix , basePrefix , coreHome , stdLibHome , newEnv .getOptions ().get (PythonOptions .Executable ))));
555
+ "\n \t Executable: {5}" +
556
+ "\n \t CAPI: {6}" , home != null ? home .getPath () : "" , sysPrefix , basePrefix , coreHome , stdLibHome , newEnv .getOptions ().get (PythonOptions .Executable ), capiHome ));
550
557
}
551
558
552
559
@ TruffleBoundary
0 commit comments