-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
consider getting rid of packages/binaries built by pyinstaller (windows exe and mac pkg) #2760
Comments
If there are any users that need these, please let us know here in the comments. 🙂 |
Some stats on our pkg and exe downloads: https://www.somsubhra.com/github-release-stats/?username=iterative&repository=dvc Some of those are from our tests. So not many downloads for windows and mac installers. deb/pkg are usually served from our s3 repos, so those don't count. |
Python is not that hard to get on Windows: https://blog.adafruit.com/2019/06/04/new-guide-python-is-in-the-latest-build-of-windows-10-adafruitlearningsystem-python-adafruit-win10-windows-adafruit/ You can search it on the store, without going to Python.org 👀 |
@MrOutis Still not as simple as current installer. Maybe there is a better way to package this. |
Not finding any good alternative :( Looks like the options for distributing python app are the same as they were 2 years ago. Looks like we will simply have to suck it up and improve our testing to catch those issues early. 🙁 |
Things like awscli are also still using pyinstaller, even though they run into similar issues from time to time. Looks like there is no other way for now. Closing. |
@efiop , I think you are overestimating the installation task; right now is as easy as searching python on the store, click download, |
@MrOutis That's a good point! Though awscli, mercurial and others do provide windows/mac installers to make it a1 stop shop, instead of making you install python and run pip. To me it seems like our users are advanced enough to do that, but it might not be a valid excuse to raise the bar for the newbies. Need to learn more about why people are even using those. Will keep this opened for now, maybe someone will share their thoughts (i'll also try to actively ask users about that). |
looks like the reason behind And from their web page, looks like they are going with |
@MrOutis Yeah, but default python on mac is not very good too 🙁 It is an ancient python 2, which we will drop in 2 months, so can't rely on it 🙁 |
@efiop , true that 😞 I read that they are discouraging users to rely on python 2: https://developer.apple.com/documentation/macos_release_notes/macos_catalina_10_15_release_notes |
Since you asked @MrOutis - my opinion on this issue is the same thing I always say: who needs users when you have devs? On a serious note I also go through similar pain packaging executables bundling a python interpreter for windows. Don't think there's an easy way around it. Recommending anaconda and/or chocolatey and/or docker may work. Speaking of which... New issue time. |
For the record: reasons why users are using bin packages:
|
If I may chime in here as a Windows user: |
Hmm does that I'll also post another vaguely related comic with the excuse that I didn't post the first one so can't be accused of starting this... |
@casperdcl afaik each scoop bucket contains a script that updates all dependencies. That script is run automatically every hour or so and the result automatically committed and pushed to Github. |
I'm still in favor of deprecating @nightscape , would requiring a Windows user to install Python (either by a package manager, store, or via the python.org webpage) and then use There's also the option to use |
@MrOutis I also don't like pyinstaller that much, but sadly I don't see any other option right now. Dropping py2 wouldn't change it. Our best choice it to be careful and patient here 🙂It seems like chocolatey is also a very good bet, I've created #2833 for it, seems to be pretty easy to install dvc with |
@MrOutis I haven't found any scoop packages that install via |
On this topic, what is the best possible way to install
And to update
|
For the record: we now have a chocolatey package for windows https://chocolatey.org/packages/dvc . Waiting for moderators and some final testing. |
We also have a snap package (https://snapcraft.io/dvc, not fully working due to restricted privileges/permissions) and pending request for permissions & inclusion in the snap store (https://forum.snapcraft.io/t/classic-confinement-request-for-dvc/14124). In the meantime we have our own GitHub-hosted release (https://github.com/iterative/dvc/releases -> https://github.com/iterative/dvc/releases/download/0.72.0/dvc_0.72.0_amd64.snap and install instructions https://github.com/iterative/dvc/#snap-snapcraft) which should work on anything from Arch, CentOS, Debian, Fedora, Kubuntu, Manjaro, Mint, openSUSE, RHEL, and of course Ubuntu amongst others... |
By the way, |
and aws-cli is snap distributed as well: that's what ubuntu recommends if command is not found. sudo snap install aws-cli # version 1.16.266, or |
We are now signing our binaries and they are still useful. Pyinstaller is causing some problems from time to time (usually just because of a missing hook), but the benefits are still worth keeping it around. Closing. |
We've been running into issues with pyinstaller-built binaries for a long time and now I wonder if we should abandon them for good.
Mac: we have brew, pip and conda, doesn't seem like there is any need for our own pkg installer. We can't really make pkg installer install non-binary package for now, as we depend on python and mac has py2, which is soon to be dead. Supporting py2 only for that is not an option as well, since it causes a lot more issues than pyinstaller, so we'll drop py2 a bit before or right at Jan 1 2020. Considering how popular and powerful brew, pip and conda are, feels like we can just drop pkg for good.
Win: we have pip and conda, feels like something like chocolatey package would be a nice addition, that would eliminate the need for our own exe installer, but I haven't researched it enough. Also can't really make our current exe install non-binary, as there is no default python to rely on :slight_frown: Seems like conda is de-facto the standard for DS on windows, so maybe we could also simply drop the exe.
Linux: we have pip and conda. We also have deb and rpm packages and repos, which are currently packing binaries, but we could totally make it python-dependendent. That would take a bit more work to convert dep python packages, but it seems like a good idea in the long run, if any of the deb/rpm distros ever decide to include dvc into default repos.
From https://discordapp.com/channels/485586884165107732/565699007037571084/642407396790239254
The text was updated successfully, but these errors were encountered: