Author bwanamarko
Recipients BreamoreBoy, NaCl, barry, bkabrda, bwanamarko, doko, larry, ncoghlan, ned.deily, paul.moore, r.david.murray, rkuska, steve.dower, terry.reedy, tim.golden, zach.ware
Date 2015-07-02.22:19:45
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1435875587.46.0.481825863409.issue22516@psf.upfronthosting.co.za>
In-reply-to
Content
I've set up AppVeyor CI (http://www.appveyor.com/) to build the latest tag in the 2.7 branch of cpython at https://hg.python.org/ and to deploy zip files of x86 and x64 standalone builds to http://breakingbytes.alwaysdata.net/PythonBootstrap/. The builds use a patched version of Tools/buildbot/external[-amd64].bat and PCbuild/batch.bat[ -p x64] with Windows 7 SDK (VS2008) and pass all rt.bat -q[ -x64] tests. The zipped file structure matches the standard release structure except that I didn't copy any of the Tools folders (pynche, i18n, ...) or Demos, and I put html files in the Doc folder instead of python27.chm. To make it standalone I put the MSVCR90 redistributables in the top level side by side (privately) with python27.dll, which is acceptable according to the VS2008 license (http://download.microsoft.com/documents/useterms/Visual%20Studio_2008%20Professional%20Edition_English_473a7e16-65dc-4cfb-8f44-ebdd93cb1d3d.pdf) as long as the distro has any LICENSE. It is also one of the 3 recommended practices for deploying Visual C++ applications (https://msdn.microsoft.com/en-us/library/zebw5zk9(v=vs.90).aspx) especially Redistributiong Visual C++ Files (https://msdn.microsoft.com/en-us/library/ms235299(v=vs.90).aspx). The current Python uses the merge modules (https://msdn.microsoft.com/en-us/library/ms235290(v=vs.90).aspx) which requires admin rights.

  "Installation of the WinSxS folder requires administrative user rights. If an installation is run by a user who does not have administrative rights, the Visual C++ assemblies cannot be installed, and applications that depend on those DLLs cannot run. The alternative redistribution approach is to install private side-by-side assemblies of a particular user application. For more information on deploying Visual C++ files as private assemblies see Redistributing Visual C++ Files."

In addition to some glue script, I added an altered version of idle.bat for Scripts that points to pythonw.exe and Lib\idlelib\idle.pyw from the Scripts folder instead of from the Lib\idlelib folder. This lets users start idle if Scripts is on their path.

The glue for the appveyor build and the webpage are both maintained on bitbucket.
* https://bitbucket.org/breakingbytes/cpython/branch/PythonBootstrap
* https://bitbucket.org/breakingbytes/breakingbytes.bitbucket.org

I expect this release to have several major uses:
* It can be used to install python-2.7 without admin rights on windows
* It can be used to embed python-2.7 into standalone applications that depend on python since it has a fairly small footprint, 15MB compressed.
* To use 32-bit and 64-bit versions of Python on the same machine, which is technically not impossible now, and would still require some managment

Some future goals:
* create a self extracting executable that performs some minor niceties such as ...
 - adding Python and scripts to the path
 - fixing any hardcoded paths in bundled executbles
 - associated .py with python.exe
 - running python -m ensurepip
 - getting some convenient packages for scidata like pandas, numpy, xlrd, etc.
History
Date User Action Args
2015-07-02 22:19:47bwanamarkosetrecipients: + bwanamarko, barry, terry.reedy, doko, paul.moore, ncoghlan, larry, tim.golden, ned.deily, r.david.murray, BreamoreBoy, zach.ware, bkabrda, steve.dower, rkuska, NaCl
2015-07-02 22:19:47bwanamarkosetmessageid: <1435875587.46.0.481825863409.issue22516@psf.upfronthosting.co.za>
2015-07-02 22:19:47bwanamarkolinkissue22516 messages
2015-07-02 22:19:45bwanamarkocreate