Comment by Sytten

1 month ago

I found that Mise handles all my needs for development and it is scoped so it doesn't try to update Python and break all my virtual env when I install something new /shrug

Why would you even use python without uv anymore, and have a system python binary and virtual envs linked to it?

  • > Why would you even use python without uv anymore

    Probably wouldn't:

    https://mise.jdx.dev/mise-cookbook/python.html#mise-uv

    > have a system python binary and virtual envs linked to it

    I'm not sure if you're saying avoid using system python?

    In my experience so far, you never want to develop complex software locked to system versions of runtimes. Too often you need a bleeding edge feature, or conversely need to postpone updating due to needing an old version for some reason.

    • > I'm not sure if you're saying avoid using system python?

      That's what I'm saying, yes. System python should be treated as a REPL for interactive shell scripting and otherwise ignored entirely.

  • Python might be just one of the languages required by the dev stack not the only language. Mise is the right tool for the job.

    • True, but Python is the one with an env management system (virtual environments) which is the most prone to breakage for projects that depend on system Python.

      Uv is far superior to both Mise and Homebrew for Python work, and I find that it removes the vast majority of pain preventing me from using Homebrew by default for most things, and Mise only occasionally for specific dev envs. Mise is a great tool though!

    • Last time I checked, Mise is still a one-man show. That’s way too risky for a critical party of my supply chain for my taste.

      8 replies →

I split my usage. Homebrew for OS things mise for the various tooling.

The only problem some things still have a dependency on requiring python and others on the system. The problem being that they’re there, mise works just fine.

  • You can use mise for install homebrew items btw so if you get a new computer you just drop the config.toml inside the mise and install.

    This is all you have to add to the config file:

    [bootstrap.packages]

    "brew:git" = "latest"

    "brew-cask:ghostty" = "latest"

I also started using Mise for global CLI tools instead of brew and it’s working really well

Eg: mise use -g gcloud instead of brew install xxx

It can even do that for npm packages! Like mise use -g npm:xxx

  • re: npm, if you upgrade your global node version, you will lose that installation, right?

    • no, in fact you don’t even need node or npm to install npm packages with mise. (You likely will need it to execute them though)