Skip to content

Commit 8d84d6f

Browse files
committed
Make setenv calls awaitable in Python init
Refactored the setenv function to return a Future<void> and updated all calls to setenv to use await. This ensures environment variables are set in the correct order before proceeding.
1 parent 7060029 commit 8d84d6f

File tree

1 file changed

+11
-12
lines changed

1 file changed

+11
-12
lines changed

src/serious_python_android/lib/serious_python_android.dart

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,10 +33,9 @@ class SeriousPythonAndroid extends SeriousPythonPlatform {
3333
List<String>? modulePaths,
3434
Map<String, String>? environmentVariables,
3535
bool? sync}) async {
36-
Future setenv(String key, String value) async {
37-
await methodChannel.invokeMethod<String>(
38-
'setEnvironmentVariable', {'name': key, 'value': value});
39-
}
36+
Future<void> setenv(String key, String value) =>
37+
methodChannel.invokeMethod<String>(
38+
'setEnvironmentVariable', {'name': key, 'value': value});
4039

4140
// load libpyjni.so to get JNI reference
4241
try {
@@ -78,18 +77,18 @@ class SeriousPythonAndroid extends SeriousPythonPlatform {
7877
moduleSearchPaths.add(sitePackagesPath);
7978
}
8079

81-
setenv("PYTHONINSPECT", "1");
82-
setenv("PYTHONDONTWRITEBYTECODE", "1");
83-
setenv("PYTHONNOUSERSITE", "1");
84-
setenv("PYTHONUNBUFFERED", "1");
85-
setenv("LC_CTYPE", "UTF-8");
86-
setenv("PYTHONHOME", pythonLibPath);
87-
setenv("PYTHONPATH", moduleSearchPaths.join(":"));
80+
await setenv("PYTHONINSPECT", "1");
81+
await setenv("PYTHONDONTWRITEBYTECODE", "1");
82+
await setenv("PYTHONNOUSERSITE", "1");
83+
await setenv("PYTHONUNBUFFERED", "1");
84+
await setenv("LC_CTYPE", "UTF-8");
85+
await setenv("PYTHONHOME", pythonLibPath);
86+
await setenv("PYTHONPATH", moduleSearchPaths.join(":"));
8887

8988
// set environment variables
9089
if (environmentVariables != null) {
9190
for (var v in environmentVariables.entries) {
92-
setenv(v.key, v.value);
91+
await setenv(v.key, v.value);
9392
}
9493
}
9594

0 commit comments

Comments
 (0)