indygreg / python-build-standalone

Produce redistributable builds of Python
Mozilla Public License 2.0
1.97k stars 125 forks source link

Prebuild binaries howto's / documentation #192

Closed korvin2000 closed 1 year ago

korvin2000 commented 1 year ago

I must apologise straight away - yes, I'm fairly inexperienced Python newbe. I found the link to this project thanks to the chaiNNer AI project, it uses standalone indygreg python and installs and unpacked it the first time it starts.. 1) my first surprise was - the contents of the downloaded archive, the folder structure - does not correspond to the standalone python directory structure that the chaiNNer has automatically unpacked and installed. And the first thing I did was to try to understand how to properly use and install the standalone version and I didn't understand anything. (I'm new to the python world, but I've been a typescript and java programmer for about 20 years and that means the documentation is not self-sufficient or I'm stupid). 2) Windows: standalone version of the legacy python for windows is very different from this one. I mean archive/directory structure. So I didn't understand how to use this one and ended up installing the official legacy standalone python for windows. 3) Linux - Here I was also in for a surprise, the contents of the linux archive version was very different from the contents of the archive for windows. OK, I thought, I'll just unpack it and use it "as is". I tried to use it with stable diffusion and couldn't figure out how to configure it so that the installer doesn't swear at the missing "venv" module. I ended up commenting out everything about venv and was able to run stable diffusion without "venv" and it works fine 👍 , although I'm not sure I'm using it correctly Unlike stable diffusion another fork of the project for model training (kohya_ss) did not complain about missing venv module and even created venv environment, but at the same time when creating it was missing some of the libraries necessary for work, which are available in the original archive/source directories, but they were not copied to the venv environment or it did not see them, although they were there.

Anyway, I tried for a while to find a normal understandable instructions how to install and use precompiled binaries, how to configure/enable venv etc. for linux and for windows and found only rather rudimentary instructions. Those who will understand them - they don't need them, and those who need them - he won't understand them I really like the idea of standalone python which is independent of the version installed in the system, which is optimised for modern CPU instructions, with LTO/PGO optimizations, etc.. 👍 but ... could you document the operation and installation of it for beginners a bit better and clearer or leave a link if this documentation exists somewhere.

P.S. you have given a much more detailed information/instructions on how to build standalone python from source, what other python is needed for, etc. Should I really build it by myself I case I have precompiled binaries for all / for every occasion? But a way more typical usecase: when there are ready prebuild binaries for all cases of life, for different OS, for different architectures and for different sets of СPU instructions... I haven't found enough information on this topic, it is assumed that everything is self-explanatory and there is no need to explain anything.....

korvin2000 commented 1 year ago

Thank you very much for your work and your project! 👍 I kindly ask you to make the instructions on how to use prebuild binaries/released standalone archives a little more clear and detailed for beginners/newbies like me. Unpacking was not a problem, it was unclear what to do with the json file inside the zst archive. I even understood what v1 - v4 versions stand for and how they differ, but it's a pity that there is no brief (how to / faq / wiki) instruction on this project and info about released artefacts . The documentation is there (https://gregoryszorc.com/docs/python-build-standalone/main/.) I know, but it's not what a lot of users like me are looking for... it's a bit one-sided /thematically very limited.

korvin2000 commented 1 year ago

closed