-
Notifications
You must be signed in to change notification settings - Fork 382
-
Title, i am pythong newbie. Should i use pip install fava or pipx install fava?
What's better practice and why?
Beta Was this translation helpful? Give feedback.
All reactions
If you do a user pip install, Fava and its dependencies will be installed in the same Python environment as other packages and there might be problems due to conflicting version requirements with other packages. So that's not an ideal approach.
pipx sets up an isolated environment for just the Fava cli, so that makes sure there are no conflicts and is a good way to try out Fava. However, with pipx you don't have great control over upgrades (of the dependencies of Fava) and it's also not very convenient to install further dependencies for e.g. your importers in that environment.
I personally use and would recommend a separate Python "project", managed by uv (see https://docs.astral.sh/uv/g...
Replies: 1 comment 1 reply
-
If you do a user pip install, Fava and its dependencies will be installed in the same Python environment as other packages and there might be problems due to conflicting version requirements with other packages. So that's not an ideal approach.
pipx sets up an isolated environment for just the Fava cli, so that makes sure there are no conflicts and is a good way to try out Fava. However, with pipx you don't have great control over upgrades (of the dependencies of Fava) and it's also not very convenient to install further dependencies for e.g. your importers in that environment.
I personally use and would recommend a separate Python "project", managed by uv (see https://docs.astral.sh/uv/guides/projects/ for an intro). That's a convenient way to have my ledger and the Python tools (Fava, importers, etc.) in a single folder with exact control over dependency upgrades due to the lockfile and great UX for using further dependencies. The minimal setup steps would be just uv init, then a uv add fava and then you can start Fava with uv run fava (and then run uv lock --upgrade from time to time to get updates).
Beta Was this translation helpful? Give feedback.
All reactions
-
@yagebu thank you!
Beta Was this translation helpful? Give feedback.