MCPcopy Index your code
hub / github.com/RustPython/RustPython / init_importlib_package

Function init_importlib_package

crates/vm/src/import.rs:38–66  ·  view source on GitHub ↗
(vm: &VirtualMachine, importlib: PyObjectRef)

Source from the content-addressed store, hash-verified

36
37#[cfg(feature = "host_env")]
38pub(crate) fn init_importlib_package(vm: &VirtualMachine, importlib: PyObjectRef) -> PyResult<()> {
39 use crate::{TryFromObject, builtins::PyListRef};
40
41 thread::enter_vm(vm, || {
42 flame_guard!("install_external");
43
44 // same deal as imports above
45 import_builtin(vm, crate::stdlib::os::MODULE_NAME)?;
46 #[cfg(windows)]
47 import_builtin(vm, "winreg")?;
48 import_builtin(vm, "_io")?;
49 import_builtin(vm, "marshal")?;
50
51 let install_external = importlib.get_attr("_install_external_importers", vm)?;
52 install_external.call((), vm)?;
53 let zipimport_res = (|| -> PyResult<()> {
54 let zipimport = vm.import("zipimport", 0)?;
55 let zipimporter = zipimport.get_attr("zipimporter", vm)?;
56 let path_hooks = vm.sys_module.get_attr("path_hooks", vm)?;
57 let path_hooks = PyListRef::try_from_object(vm, path_hooks)?;
58 path_hooks.insert(0, zipimporter);
59 Ok(())
60 })();
61 if zipimport_res.is_err() {
62 warn!("couldn't init zipimport")
63 }
64 Ok(())
65 })
66}
67
68pub fn make_frozen(vm: &VirtualMachine, name: &str) -> PyResult<PyRef<PyCode>> {
69 let frozen = vm.state.frozen.get(name).ok_or_else(|| {

Callers 1

initializeMethod · 0.85

Calls 7

enter_vmFunction · 0.85
import_builtinFunction · 0.85
is_errMethod · 0.80
get_attrMethod · 0.45
callMethod · 0.45
importMethod · 0.45
insertMethod · 0.45

Tested by

no test coverage detected