Comments (10)
Thank you for your interest, but I am going to close this because, although useful to a small group of people, the additional maintenance burden to the pipx project would not be worth it.
from pipx.
Is it possible to bump your Debian machine to have a later version of Python? At this time I am not really interested in supporting versions older than Python 3.6. If we go down that route then we can never go back, and I really love f-strings.
from pipx.
It's not so much a matter of the machine (I can of course install my own python into $HOME), but that Debian stretch will be supported for one to two more years, at least, and is frozen at 3.5 (as is Ubuntu < 18.04).
I don't think it's unreasonable to bump the requirement when major distributions (outside CentOS/RHEL, which will, of course, lag behind) uniformly ship Python 3.6.
Additionally, my PR contains some bugfixes (once case of emoji ignoring the global config) and minor improvements (logging
should use %s
-style formatting, explicit single quotes instead of repr()
); though these can of course be split out into a new PR if desired.
from pipx.
I am conflicted on this one. You make a good point about it being shipped and supported for another couple years. But I really do prefer f-strings, and I have seen other projects requiring 3.6+ (notably black). I am leaning toward keeping this 3.6+, but perhaps will change my mind if pipx becomes more widely used and gets high demand for 3.5.
Thank you for that PR btw. I intentionally used f-string formatting in logging after seeing a post at work about how performance was (surprisingly) slightly faster using f-strings rather than %s
, and of course is easier to read and write, and consistent with the rest of the codebase.
from pipx.
You make a fair point as well. I'll consider this resolved then, but I do request you look over my PR and pull in improvements where appropriate. Let me know if you don't have the time to do so, and I'll see if I can resubmit it preserving f-strings at some point.
from pipx.
pull in improvements where appropriate
Do you mean manually pull them in since the f-strings will be left in? And how do you feel about leaving the logger calls as f-strings? If those all remain, all that is left is the repr change (I think). In that case I would prefer an updated PR since I would only want to merge that change. LMK if I missed any other changes. EDIT: I just remembered you also caught an emoji bug. Updating to just the minimal set of changes I want to merge will be great, and I can approve it.
from pipx.
Yeah, I was talking about removing usage of repr()
and str()
, as well as the emoji fix. I can try to get around to the updated PR, but it might take a while.
from pipx.
I had just been thinking about this, another potential solution is changing the language?
This starts to become super useful when it's not tied to a specific python version... Could be ported to bash? Or a be a compiled binary with go? you also get around the chicken and egg problem of having a bootstrapper?
I'm convinced it's such a good idea I might start having a play around with proof of concepts this coming week
from pipx.
pipsi exists and works down to 2.7. There is no reason pipx couldn't be written to support 2.7. I just don't want to because 2.7 is going to be dead soon and 3.6+ has f-strings and pathlib.
Something else to consider is that if a different language is used, the virtualenv/venv difference is still there between Python 2/3 so you'll still have to do Python version detection.
Regardless of what language is used, a way to install pipx (a bootstrapper) is still needed -- whether that's a bash script, go binary, haskell binary, or Python script, something needs to do the initial pipx installation. Since pipx is built to run Python binaries, it's safe to assume the system has Python on it, so it makes sense to me to just use Python. Using a compiled binary means you need to build binaries for every OS.
from pipx.
Support for older Python version to install pipx would be very helpful for those of us locked on older Python versions
from pipx.
Related Issues (20)
- 'pin' claims package is not installed when it is installed HOT 2
- Using `pipx inject python-lsp-server 'python-lsp-server[rope]'` fails HOT 8
- Symlinks in GitHub's markdown viewer are broken
- Pipx package in Ubuntu 24.04 is obsolete, how to properly upgrade to 1.6.0 HOT 2
- pipx wont run HOT 2
- binary not added globally when using pipx inject HOT 2
- ModuleNotFoundError: No module named 'dtw' in VSCodium on Ubuntu 24.04 LTS HOT 1
- pipx ensurepath fails on last Alpine (3.20): "No such file or directory: 'bash'" HOT 4
- Cannot run netviel HOT 1
- PIPX_GLOBAL_(HOME|BIN_DIR|MAN_DIR) missing from documentation and `pipx environment`
- Support use of truststore for pipx install
- pip._vendor.distlib.DistlibException: Unable to locate finder for 'pip._vendor.distlib' HOT 2
- Support CLI completion of environment variable names
- Feature: have a configuration file for e.g. `--pip-args` HOT 1
- `upgrade-all` does not allow specifying `--pip-args`
- Custom pip path HOT 10
- Offline mode HOT 5
- pipx requirements.txt support for installing many tools onto many machines
- pipx install ignores --quiet HOT 1
- `pipx install pkg1 pkg2` doesn't install `pkg2` if `pkg1` already installed HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pipx.