Changes between Version 3 and Version 4 of TalkPackaging
- Timestamp:
- Mar 13, 2010, 12:52:44 PM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
TalkPackaging
v3 v4 55 55 [http://pypi.python.org/pypi/setuptools setuptools] is a set of extensions to `distutils` that try and bring it into the modern age: 56 56 * Adds proper dependency support to Python packages 57 * Lots of surrounding tools - `easy_install`, `pkg_resources` etc - very simple ways of installing stuff from the standard Python repository a57 * Lots of surrounding tools - `easy_install`, `pkg_resources` etc - very simple ways of installing stuff from the standard Python repository 58 58 * Lots more tools being built around this format 59 59 * Simply import `setuptools` instead of `distutils` … … 106 106 * `bdist_win32` is fine for lots of purposes - especially if distributing packages to other developers 107 107 * `bdist_msi` has now also been added, that produces packages in Windows installer's MSI format (this is also used to produce the python msi itself) 108 * Building extension libraries can be a nightmare (if they use the Visual Studio C library) due to DLL hell - they need to match both the exact VS C library that Python was built with, and the exact VS C library that any other libraries they use link against 108 109 * For distributing applications, most Windows users expect a single install, and may be confused by having the Python runtime environment set up on their machine with lots of libraries 109 110 * [http://www.py2exe.org/ py2exe] is the most popular of a variety of tools for producing a ''frozen'' Python distribution on Windows: … … 114 115 * All the libraries you depend on need to be included - sometimes having things installed as `eggs` on the build environment can produce problems 115 116 * Running in frozen mode often requires some changes to the underlying code for compatibility - location of files etc - lots of tips on the wiki site 116 * It's fairly common to use [http://www.jrsoftware.org/isinfo.php InnoSetup] to produce an installer containing all the required files, Start menu items, etc117 * It's fairly common to use [http://www.jrsoftware.org/isinfo.php InnoSetup] or [http://nsis.sourceforge.net/ NSIS] to produce an installer containing all the required files, Start menu items, etc 117 118 118 119 === Putting it all together === … … 121 122 * Separate out options for the different commands as much as possible 122 123 * We found we had to hack `distutils` a lot with derived code to make it all work 123