-
Notifications
You must be signed in to change notification settings - Fork 433
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
installation is broken on MacOS ? #461
Comments
I think this comes down to the fact that the python version homebrew tried to install as a dependency for pipx failed to link. I'll keep looking |
@AlJohri does the brew formula need updating? |
|
@neutrinoceros homebrew recently (last couple of weeks) moved from python 3.7 as default to python 3.8 as default. Could that contribute to your environment's trouble? |
Possibly... I reported this a bit early before I realised that |
Nitpicking, |
The homebrew formula is up to date and @neutrinoceros can you perhaps re-install your homebrew python and see if that fixes the issue? Something along the lines of: brew uninstall pipx
brew uninstall python3
brew update
brew install python3
brew install pipx
pipx ensurepath |
Sorry for not reporting in more detail but I tried this already and it leads to the same result. I also tried installing a different version of python with Homebrew but Python 3.8.5 was still installed and used after that. |
Why is |
@AlJohri knows more than I do about this, but among the advantages: |
|
There’s another issue if your |
This is presumably an issue with the new Nix package as well - pipx packages will not be protected from garbage collection so if a pipx update links to a new Python executable, well.... (This'll probably come up a lot more often than it does with brew too cuz of Nix's functional nature - any time a transitive dependency changes the dependency graph changes and when the dependency graph changes its hash is regenerated and guess what - the hash is included in the path.) |
I have a bad experience with The only downside would probably be a slight decrease of cross-platform compatibility but I'm not aware of other potential problems. What do you think @cs01 would this be something you consider for the project? |
The Scoop package (for Windows) currently does just that, and a patch that made it work was recently merged into the main pipx (yay). Currently the biggest hurdle to make this work is that it’s significantly more difficult to create a “portable” Python to bundle with pipx on POSIX systems. I know there are projects doing this (pyoxidizer comes to mind), but someone will need to invest time and work to make sure it’s viable. |
Do all scoop packages work like this, or was something done specifically for pipx? How would something like this work for homebrew? Tbh I don't have a good understanding of how Python installations/homebrew work. My impression is this is not possible, since pyenv would probably be doing that. But it is not -- it builds from source instead. |
pyenv needs to provide a fully operational Pyehon interepreter because it cannot control how the user would use the interpreters it installs, and indeed there’s currently not a way to guarentee that except building from source. But pipx does not have that constraint; the interpreter it runs on only needs to be able to run straight-up Python modules, and create virtual environments (and even that would become optional with #448, or if #465 is extended for non-Windows platforms). Therer are many portable possibilities if you remove the many edge cases in the Python interpreter that have nothing to do with pipx. |
What are the differences between a fully operational interpreter and what pipx would need? |
To answer your question I am open to discussing this, but I do not have the expertise or bandwidth to take this on. It would have to be championed by someone else, similar to how @AlJohri championed pipx on homebrew and @uranusjr did for Scoop. |
This is also something I'm pretty interested in @1oglop1. You can read more in this issue here: #244 |
The most significant feature that pipx does not need is to Another significant difficulty faced by portable installations is
There are not many Python-based tools on Scoop, but vendoring is a well-established practice on Windows in general. Docker on Windows ships a portable Python interpreter for The same practice is actually quite popular on Mac as well among GUI developers (who mainly distribute |
Same problem on Archlinux python 3.9.0 ModuleNotFoundError: No module named 'insert program". Tried reinstalling pipx, worked a few days ago. |
Describe the bug
Hi ! I attempted to install pipx following the instructions on Pypi
How to reproduce
output
Expected behavior
Successful install ? :)
my specs
macOS version Catalina 10.15.6
Homebrew 2.4.9
I'm happy to provide more specific details about my env if needed !
The text was updated successfully, but these errors were encountered: