@@ -81,7 +81,7 @@ pub fn init<R: Runtime>() -> TauriPlugin<R> {
81
81
82
82
fn init_python ( code : String , dir : PathBuf ) {
83
83
#[ allow( unused_mut) ]
84
- let mut sys_pyth_dir = format ! ( "sys.path.append('{}')" , dir. to_str ( ) . unwrap ( ) ) ;
84
+ let mut sys_pyth_dir = vec ! [ format!( "\" {} \" " , dir. to_string_lossy ( ) ) ] ;
85
85
#[ cfg( feature = "venv" ) ]
86
86
{
87
87
let venv_dir = dir. join ( ".venv" ) . join ( "lib" ) ;
@@ -91,26 +91,23 @@ fn init_python(code: String, dir: PathBuf) {
91
91
let site_packages = entry. path ( ) . join ( "site-packages" ) ;
92
92
// use first folder with site-packages for venv, ignore venv version
93
93
if Path :: exists ( site_packages. as_path ( ) ) {
94
- sys_pyth_dir += "\n " ;
95
- sys_pyth_dir +=
96
- & format ! ( "sys.path.append('{}')" , site_packages. to_str( ) . unwrap( ) ) ;
94
+ sys_pyth_dir. push ( format ! ( "\" {}\" " , site_packages. to_string_lossy( ) ) ) ;
97
95
break ;
98
96
}
99
97
}
100
98
}
101
99
}
102
100
}
103
101
let path_import = format ! (
104
- r#"
105
- import sys
102
+ r#"import sys
103
+ sys.path = sys.path + [{}]
106
104
{}
107
105
"# ,
108
- sys_pyth_dir
106
+ sys_pyth_dir. join( ", " ) ,
107
+ code
109
108
) ;
110
- py_lib:: run_python_internal ( path_import, "<tauri_init>" . into ( ) )
111
- . unwrap_or_else ( |e| panic ! ( "Error '{e}' initializing sys_import" ) ) ;
112
- py_lib:: run_python_internal ( code, "main.py" . into ( ) )
113
- . unwrap_or_else ( |e| panic ! ( "Error '{e}' initializing main.py." ) ) ;
109
+ py_lib:: run_python_internal ( path_import, "main.py" . into ( ) )
110
+ . unwrap_or_else ( |e| panic ! ( "Error '{e}' initializing main.py" ) ) ;
114
111
}
115
112
116
113
/// Initializes the plugin.
0 commit comments