You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
#![windows_subsystem = "console"]
use pyembed::MainPythonInterpreter;
// Include an auto-generated file containing the default
// pyembed::OxidizedPythonInterpreterConfig derived by the PyOxidizer
// configuration file.
//
// If you do not want to use PyOxidizer to generate this file, simply
// remove this line and instantiate your own instance of
// pyembed::OxidizedPythonInterpreterConfig.
include!(env!("PYOXIDIZER_DEFAULT_PYTHON_CONFIG_RS"));
fn main() {
// The following code is in a block so the MainPythonInterpreter is destroyed in an
// orderly manner, before process exit.
let code = {
// Load the default Python configuration as derived by the PyOxidizer config
// file used at build time.
let config = default_python_config();
// Construct a new Python interpreter using that config, handling any errors
// from construction.
match MainPythonInterpreter::new(config) {
Ok(mut interp) => {
// And run it using the default run configuration as specified by the
// configuration. If an uncaught Python exception is raised, handle it.
// This includes the special SystemExit, which is a request to terminate the
// process.
// interp.run_as_main()
let py = interp.acquire_gil().unwrap();
match py.eval( "print('hello, world')", None, None) {
Ok(_) => println!("python code executed successfully"),
Err(e) => println!("python error: {:?}", e),
}
0
}
Err(msg) => {
eprintln!("{}", msg);
1
}
}
};
// And exit the process according to code execution results.
std::process::exit(code);
}
but when running
pyoxidizer run
I get the same python REPL as without modification !
And also,
cargo run --features jemalloc build-mode-pyoxidizer-exe
fail with
Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding
Python runtime state: core initialized
ModuleNotFoundError: No module named 'encodings'
That may be normal, but nothing tell me why in the doc.
I'm using ubuntu 20.04 and rust/cargo 1.47
The text was updated successfully, but these errors were encountered:
I am also having this problem but I haven't changed the sample rust project except for enabling jemalloc in Cargo.toml.
Ubuntu 18.04.5
Rust 1.49.0
PyOxidizer 0.10.3
What particularly bugs me about this is that the documentation mentions many times in relation to mixed python-rust projects to use pyoxidizer rather than cargo to build in order to perform many key steps you would otherwise need to glue together yourself, but doing so doesn't utilize any of your Rust code at all!
pyoxidizer init-rust-project pyapp
I then modified src/main.rs :
but when running
pyoxidizer run
I get the same python REPL as without modification !
And also,
cargo run --features jemalloc build-mode-pyoxidizer-exe
fail with
That may be normal, but nothing tell me why in the doc.
I'm using ubuntu 20.04 and rust/cargo 1.47
The text was updated successfully, but these errors were encountered: