Eventual-Inc / Daft

Distributed DataFrame for Python designed for the cloud, powered by Rust
https://getdaft.io
Apache License 2.0
2.14k stars 143 forks source link

fix pyo3 build thrashing cross-IDE #2933

Open andrewgazelka opened 3 days ago

andrewgazelka commented 3 days ago

or at least let's figure out how we can get pyo3 to stop recompiling all the time when I am using JetBrains. How did we fix this for VSC?

looks lke we did

https://github.com/Eventual-Inc/Daft/blob/main/.vscode/settings.json#L3

however I am confused about details about how this works and if IntelliJ is what is causing things to recompile for me

universalmind303 commented 3 days ago

for the pyo3 build thrashing, the recommended approach is actually to set the env var PYO3_PYTHON to a hardcoded path. https://github.com/PyO3/PyO3/issues/1708

The vscode settings help with this in a different way, it sets rust-analyzer to use it's own build directory instead of sharing it with ./target, but it solves the same problem as pyo3 is always built with the same env vars

I'm not a jetbrains user, but I'm sure there's likely a way to set their analyzer to use a custom path. Set it to something like ./target/analyzer and that'd be the equivalent of the vscode settings

I personally prefer keeping IDE specific settings out of the core repo, and instead add it to a contributors guide.

andrewgazelka commented 2 days ago

perhaps we can set .cargo/config.toml? https://www.perplexity.ai/search/pyo3-python-fix-pyo3-recompile-.8_iGSsmQravJ671YMe5Og#0 just made mine

[env]
PYO3_PYTHON = "./.venv/bin/python"

seems to fix