Great work on this project! 🎉
I think it would be a good idea to add code to try and install a Python module if it's not already installed.
I wrote a very simple proof-of-concept for one of my projects here:
https://github.com/tjosepo/deno_numpy/blob/main/src/shared/numpy.ts
import { python, PythonError } from "../../deps.ts";
let numpy: any;
try {
numpy = python.import("numpy");
} catch (error: unknown) {
if (!(error instanceof PythonError)) throw error;
if (error.message !== "No module named 'numpy'") throw error;
const p = Deno.run({ cmd: "pip install numpy".split(" ") });
await p.status();
numpy = python.import("numpy");
}
export default numpy;
This approach isn't perfect as it assumes the user has pip installed, but I feel like it would be a good improvement for most users, and it can be further iterated upon in the future.
Great work on this project! 🎉
I think it would be a good idea to add code to try and install a Python module if it's not already installed.
I wrote a very simple proof-of-concept for one of my projects here:
https://github.com/tjosepo/deno_numpy/blob/main/src/shared/numpy.ts
This approach isn't perfect as it assumes the user has pip installed, but I feel like it would be a good improvement for most users, and it can be further iterated upon in the future.