Commits

Anonymous committed 6f183d5 Merge

Tag 1.4-rc1

Comments (0)

Files changed (5)

 <td>Giovanni Bajo &amp; William Caban (based on Gordon McMillan's manual)</td></tr>
 <tr><th class="docinfo-name">Contact:</th>
 <td><a class="first last reference external" href="mailto:rasky&#64;develer.com">rasky&#64;develer.com</a></td></tr>
+<tr><th class="docinfo-name">Version:</th>
+<td>PyInstaller v1.4</td></tr>
 <tr><th class="docinfo-name">Revision:</th>
-<td>612</td></tr>
+<td>786</td></tr>
 <tr class="field"><th class="docinfo-name">Source URL:</th><td class="field-body">$HeadURL: <a class="reference external" href="https://src.develer.com/svnoss/pyinstaller/trunk/doc/source/Manual.rst">https://src.develer.com/svnoss/pyinstaller/trunk/doc/source/Manual.rst</a> $</td>
 </tr>
 <tr><th class="docinfo-name">Copyright:</th>
 <ul class="simple">
 <li><a class="reference internal" href="#getting-started" id="id2">Getting Started</a><ul>
 <li><a class="reference internal" href="#installing-pyinstaller" id="id3">Installing PyInstaller</a></li>
-<li><a class="reference internal" href="#building-the-runtime-executables" id="id4">Building the runtime executables</a></li>
+<li><a class="reference internal" href="#building-the-bootloaders" id="id4">Building the bootloaders</a></li>
 <li><a class="reference internal" href="#configuring-your-pyinstaller-setup" id="id5">Configuring your PyInstaller setup</a></li>
 <li><a class="reference internal" href="#create-a-spec-file-for-your-project" id="id6">Create a spec file for your project</a></li>
 <li><a class="reference internal" href="#build-your-project" id="id7">Build your project</a></li>
 <li><a class="reference internal" href="#windows-com-server-support" id="id8">Windows COM Server support</a></li>
 <li><a class="reference internal" href="#building-optimized" id="id9">Building Optimized</a></li>
 <li><a class="reference internal" href="#a-note-on-using-upx" id="id10">A Note on using UPX</a></li>
-<li><a class="reference internal" href="#a-note-on-onefile" id="id11">A Note on <tt class="docutils literal"><span class="pre">--onefile</span></tt></a></li>
-<li><a class="reference internal" href="#a-note-on-egg-files-and-setuptools" id="id12">A Note on .egg files and setuptools</a></li>
+<li><a class="reference internal" href="#how-one-file-mode-works" id="id11">How one-file mode works</a></li>
+<li><a class="reference internal" href="#egg-files-and-setuptools" id="id12">.egg files and setuptools</a></li>
 </ul>
 </li>
 <li><a class="reference internal" href="#pyinstaller-utilities" id="id13">PyInstaller Utilities</a><ul>
 other words, you will need a separate copy of PyInstaller for each Python
 version you wish to work with <em>or</em> you'll need to rerun <tt class="docutils literal"><span class="pre">Configure.py</span></tt> every
 time you switch the Python version).</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
-</div>
-<div class="section" id="building-the-runtime-executables">
-<h2><a class="toc-backref" href="#id4">Building the runtime executables</a></h2>
-<p><em>Note:</em> Windows users can skip this step, because all of Python is contained in
-pythonXX.dll, and PyInstaller will use your pythonXX.dll.</p>
-<p>On Linux the first thing to do is build the runtime executables. To do that,
-you need to have some basic C/C++ development tools and the Python development
-libraries. On Debian/Ubuntu systems, you can run the following lines
-to install everything required:</p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
+</div>
+<div class="section" id="building-the-bootloaders">
+<h2><a class="toc-backref" href="#id4">Building the bootloaders</a></h2>
+<p><em>Note:</em> Windows users can skip this step, because PyInstaller already ships
+with binary bootloaders.</p>
+<p>On Linux the first thing to do is build the bootloaders (that is, the
+runtime executables). To do that, you need to have some basic C/C++
+development tools and the Python development libraries. On Debian/Ubuntu
+systems, you can run the following lines to install everything required:</p>
 <pre class="literal-block">
 sudo apt-get install build-essential python-dev
 </pre>
 Note that the executable chases down symbolic links before determining it's name
 and directory, so putting the archive in the same directory as the symbolic link
 will not work.</p>
-<p>Windows distributions come with several executables in the <tt class="docutils literal"><span class="pre">support/loader</span></tt>
+<p>Windows distributions of PyInstaller come with several executables in the <tt class="docutils literal"><span class="pre">support/loader</span></tt>
 directory: <tt class="docutils literal"><span class="pre">run_*.exe</span></tt> (bootloader for regular programs), and
 <tt class="docutils literal"><span class="pre">inprocsrvr_*.dll</span></tt> (bootloader for in-process COM servers). To rebuild this,
 you need to install <a class="reference external" href="http://www.scons.org">Scons</a>, and then just run <tt class="docutils literal"><span class="pre">scons</span></tt> from the /your/path/to/pyinstaller/
 directory.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="configuring-your-pyinstaller-setup">
 <h2><a class="toc-backref" href="#id5">Configuring your PyInstaller setup</a></h2>
 information into <tt class="docutils literal"><span class="pre">config.dat</span></tt> that would otherwise be recomputed every time.
 It can be rerun at any time if your configuration changes. It must be run before
 trying to build anything.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="create-a-spec-file-for-your-project">
 <h2><a class="toc-backref" href="#id6">Create a spec file for your project</a></h2>
 <p>[For Windows COM server support, see section <a class="reference internal" href="#windows-com-server-support">Windows COM Server Support</a>]</p>
-<p>The root directory has a script Makespec.py for this purpose:</p>
+<p>This is the first step to do. The spec file is the description of what you
+want PyInstaller to do with your program. In the root directory of PyInstaller,
+there is a simple wizard to create simple spec files that cover all basic usages:</p>
+<pre class="literal-block">
+python Makespec.py [--onefile] yourprogram.py
+</pre>
+<p>By deafult, <tt class="docutils literal"><span class="pre">Makespec.py</span></tt> generates a spec file that tells PyInstaller to
+create a distribution directory contains the main executable and the dynamic
+libraries. The option <tt class="docutils literal"><span class="pre">--onefile</span></tt> specifies that you want PyInstaller to build
+a single file with everything inside.</p>
+<p>Elaborating on Makespec.py, this is the supported command line:</p>
 <pre class="literal-block">
 python Makespec.py [opts] &lt;scriptname&gt; [&lt;scriptname&gt; ...]
 </pre>
 more complex projects, it should be regarded as a template. The spec file is
 actually Python code, and modifying it should be ease. See <a class="reference internal" href="#spec-files">Spec Files</a> for
 details.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="build-your-project">
 <h2><a class="toc-backref" href="#id7">Build your project</a></h2>
 </pre>
 <p>A <tt class="docutils literal"><span class="pre">buildproject</span></tt> subdirectory will be created in the specfile's directory. This
 is a private workspace so that <tt class="docutils literal"><span class="pre">Build.py</span></tt> can act like a makefile. Any named
-targets will appear in the specfile's directory. For <tt class="docutils literal"><span class="pre">--onedir</span></tt>
-configurations, it will create also <tt class="docutils literal"><span class="pre">distproject</span></tt>, which is the directory you're
-interested in. For a <tt class="docutils literal"><span class="pre">--onefile</span></tt>, the executable will be in the specfile's
-directory.</p>
+targets will appear in the specfile's directory.</p>
+<p>The generated files will be placed within the <tt class="docutils literal"><span class="pre">dist</span></tt> subdirectory; that's where
+the files you are interested in will be placed.</p>
 <p>In most cases, this will be all you have to do. If not, see <a class="reference internal" href="#when-things-go-wrong">When things go
 wrong</a> and be sure to read the introduction to <a class="reference internal" href="#spec-files">Spec Files</a>.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="windows-com-server-support">
 <h2><a class="toc-backref" href="#id8">Windows COM Server support</a></h2>
 </pre>
 <p>MakeCOMServer also assumes that your top level code (registration etc.) is
 &quot;normal&quot;. If it's not, you will have to edit the generated script.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="building-optimized">
 <h2><a class="toc-backref" href="#id9">Building Optimized</a></h2>
           ...
 </pre>
 <p>See <a class="reference internal" href="#spec-files">Spec Files</a> for details.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="a-note-on-using-upx">
 <h2><a class="toc-backref" href="#id10">A Note on using UPX</a></h2>
 for CGI's executed by Apache. Otherwise, you can ignore the warnings in the UPX
 docs, since what PyInstaller opens is the executable Installer created, not the
 temporary upx-created executable.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
-<div class="section" id="a-note-on-onefile">
-<h2><a class="toc-backref" href="#id11">A Note on <tt class="docutils literal"><span class="pre">--onefile</span></tt></a></h2>
+<div class="section" id="how-one-file-mode-works">
+<h2><a class="toc-backref" href="#id11">How one-file mode works</a></h2>
 <p>A <tt class="docutils literal"><span class="pre">--onefile</span></tt> works by packing all the shared libs / dlls into the archive
 attached to the bootloader executable (or next to the executable in a non-elf
 configuration). When first started, it finds that it needs to extract these
 files before it can run &quot;for real&quot;. That's because locating and loading a
 shared lib or linked-in dll is a system level action, not user-level. With
-PyInstaller v1.0 it always uses a temporary directory (<tt class="docutils literal"><span class="pre">_MEIpid</span></tt>) in the
+PyInstaller v1.4 it always uses a temporary directory (<tt class="docutils literal"><span class="pre">_MEIXXXXX</span></tt>,
+where <tt class="docutils literal"><span class="pre">XXXXX</span></tt> is a random number to avoid conflicts) in the
 user's temp directory. It then executes itself again, setting things up so
-the system will be able to load the shared libs / dlls. When executing is
+the system will be able to load the shared libs / dlls. When execution is
 complete, it recursively removes the entire directory it created.</p>
+<p>The temporary directory is exported to the program's environment as
+<tt class="docutils literal"><span class="pre">os.environ['_MEIPASS2']</span></tt>. This can be used in case you manually modified
+the spec file to tell PyInstaller to add additional files (eg: data files)
+within the executable (see also <a class="reference internal" href="#accessing-data-files">Accessing Data Files</a>).</p>
 <p>This has a number of implications:</p>
 <ul class="simple">
 <li>You can run multiple copies - they won't collide.</li>
 <li>Running multiple copies will be rather expensive to the system (nothing is
 shared).</li>
-<li>If you're using the cheat of adding user data as <tt class="docutils literal"><span class="pre">'BINARY'</span></tt>, it will be in
-<tt class="docutils literal"><span class="pre">os.environ['_MEIPASS2']</span></tt>, not in the executable's directory.</li>
 <li>On Windows, using Task Manager to kill the parent process will leave the
 directory behind.</li>
 <li>On *nix, a kill -9 (or crash) will leave the directory behind.</li>
 <li>Otherwise, on both platforms, the directory will be recursively deleted.</li>
 <li>So any files you might create in <tt class="docutils literal"><span class="pre">os.environ['_MEIPASS2']</span></tt> will be deleted.</li>
 <li>The executable can be in a protected or read-only directory.</li>
-<li>If for some reason, the <tt class="docutils literal"><span class="pre">_MEIpid</span></tt> directory already exists, the executable
-will fail. It is created mode 0700, so only the one user can modify it
-(on *nix, of course).</li>
 </ul>
-<p>While we are not a security expert, we believe the scheme is good enough for
-most of the users.</p>
 <p><strong>Notes for *nix users</strong>: Take notice that if the executable does a setuid root,
 a determined hacker could possibly (given enough tries) introduce a malicious
 lookalike of one of the shared libraries during the hole between when the
-library is extracted and when it gets loaded by the execvp'd process. So maybe
-you shouldn't do setuid root programs using <tt class="docutils literal"><span class="pre">--onefile</span></tt>. <strong>In fact, we do not
-recomend the use of --onefile on setuid programs.</strong></p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
-</div>
-<div class="section" id="a-note-on-egg-files-and-setuptools">
-<h2><a class="toc-backref" href="#id12">A Note on .egg files and setuptools</a></h2>
+library is extracted into the temporary directory and when it gets loaded
+by the execvp'd process. So maybe you shouldn't do setuid root programs
+using <tt class="docutils literal"><span class="pre">--onefile</span></tt>. <strong>In fact, we do not recomend the use of --onefile
+on setuid programs.</strong></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
+</div>
+<div class="section" id="egg-files-and-setuptools">
+<h2><a class="toc-backref" href="#id12">.egg files and setuptools</a></h2>
 <p><a class="reference external" href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools</a> is a distutils extensions which provide many benefits, including
-the ability to distribute the extension as <tt class="docutils literal"><span class="pre">egg</span></tt> files. Together with the
+the ability to distribute the extension as <tt class="docutils literal"><span class="pre">eggs</span></tt>. Together with the
 nifty <a class="reference external" href="http://peak.telecommunity.com/DevCenter/EasyInstall">easy_install</a> (a tool which automatically locates, downloads and
-installs Python extensions), <tt class="docutils literal"><span class="pre">egg</span></tt> files are becoming more and more
+installs Python extensions), <tt class="docutils literal"><span class="pre">eggs</span></tt> are becoming more and more
 widespread as a way for distributing Python extensions.</p>
-<p><tt class="docutils literal"><span class="pre">egg</span></tt> files are actually ZIP files under the hood, and they rely on the fact
-that Python 2.4 is able to transparently import modules stored within ZIP
-files. PyInstaller is currently <em>not</em> able to import and extract modules
-within ZIP files, so code which uses extensions packaged as <tt class="docutils literal"><span class="pre">egg</span></tt> files
-cannot be packaged with PyInstaller.</p>
-<p>The workaround is pretty easy: you can use <tt class="docutils literal"><span class="pre">easy_install</span> <span class="pre">-Z</span></tt> at installation
-time to ask <tt class="docutils literal"><span class="pre">easy_install</span></tt> to always decompress egg files. This will allow
-PyInstaller to see the files and make the package correctly. If you have already
-installed the modules, you can simply decompress them within a directory with
-the same name of the <tt class="docutils literal"><span class="pre">egg</span></tt> file (including also the extension).</p>
-<p>Support for <tt class="docutils literal"><span class="pre">egg</span></tt> files is planned for a future release of PyInstaller.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><tt class="docutils literal"><span class="pre">eggs</span></tt> can be either files or directories. An <tt class="docutils literal"><span class="pre">egg</span></tt> directory is basically
+a standard Python package, with some additional metadata that can be used for
+advanced <a class="reference external" href="http://peak.telecommunity.com/DevCenter/setuptools">setuptools</a> features like entry-points. An <tt class="docutils literal"><span class="pre">egg</span></tt> file is simply a
+ZIP file, and it works as a package as well because Python 2.3+ is able to
+transparently import modules stored within ZIP files.</p>
+<p>PyInstaller supports <tt class="docutils literal"><span class="pre">eggs</span></tt> at a good level. In fact:</p>
+<ul class="simple">
+<li>It is able to follow dependencies within <tt class="docutils literal"><span class="pre">eggs</span></tt> (both files and directories).
+So if your program imports a package shipped in <tt class="docutils literal"><span class="pre">egg</span></tt> format, and this package
+requires additional libraries, PyInstaller will correctly include everything
+within the generated executable.</li>
+<li><tt class="docutils literal"><span class="pre">egg-files</span></tt> are fully supported. To let everything works (entry-points,
+<tt class="docutils literal"><span class="pre">pkg_resource</span></tt> library, etc.), PyInstaller either copy the <tt class="docutils literal"><span class="pre">egg-files</span></tt>
+into the distribution directory (in one-dir mode) or packs them as-is within
+the generated executable and unpack them at startup into the temporary directory
+(see <a class="reference internal" href="#how-one-file-mode-works">How one-file mode works</a>).</li>
+<li><tt class="docutils literal"><span class="pre">egg-directories</span></tt> are partially supported. In fact, PyInstaller at build
+time treat them as regular package. This means that all advanced features requiring
+<tt class="docutils literal"><span class="pre">egg</span></tt> metadatas will not work.</li>
+</ul>
+<p>Improved support for <tt class="docutils literal"><span class="pre">eggs</span></tt> is planned for a future release of PyInstaller.</p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 <div class="section" id="pyinstaller-utilities">
 <dt>Q</dt>
 <dd>Quit.</dd>
 </dl>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="bindepend">
 <h2><a class="toc-backref" href="#id15">bindepend</a></h2>
 easiest thing to do is find an executable that displays the kind of
 information you want, grab it's resource and edit it. Certainly easier than
 the Version resource wizard in VC++.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="analyzing-dependencies">
 <h2><a class="toc-backref" href="#id17">Analyzing Dependencies</a></h2>
 <p>You can interactively track down dependencies, including getting
 cross-references by using <tt class="docutils literal"><span class="pre">mf.py</span></tt>, documented in section <a class="reference internal" href="#mf-py-a-modulefinder-replacement">mf.py: A modulefinder
 Replacement</a></p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 <div class="section" id="spec-files">
 pure. The <tt class="docutils literal"><span class="pre">EXE</span></tt> is built from the <tt class="docutils literal"><span class="pre">PYZ</span></tt>, the scripts and, in the case of a
 single-file deployment, the binaries. In a single-directory deployment, a
 directory is built containing a slim executable and the binaries.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="toc-class-table-of-contents">
 <h2><a class="toc-backref" href="#id20">TOC Class (Table of Contents)</a></h2>
 becomes possible to factor out common modules, and deploy a project containing
 multiple executables with minimal redundancy. You'll need some top level code
 in each executable to mount the common <tt class="docutils literal"><span class="pre">PYZ</span></tt>.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="target-subclasses">
 <h2><a class="toc-backref" href="#id21">Target Subclasses</a></h2>
 <dd>an optional list of module or package names (their Python names, not path
 names) that will be ignored (as though they were not found).</dd>
 </dl>
-<p>An Analysis has three outputs, all <tt class="docutils literal"><span class="pre">TOCs</span></tt> accessed as attributes of the <tt class="docutils literal"><span class="pre">Analysis</span></tt>.</p>
+<p>An Analysis has five outputs, all <tt class="docutils literal"><span class="pre">TOCs</span></tt> accessed as attributes of the <tt class="docutils literal"><span class="pre">Analysis</span></tt>.</p>
 <dl class="docutils">
 <dt><tt class="docutils literal"><span class="pre">scripts</span></tt></dt>
 <dd>The scripts you gave Analysis as input, with any runtime hook scripts
 <dd>The extension modules and their dependencies. The secondary dependencies are
 filtered. On Windows, a long list of MS dlls are excluded. On Linux/Unix,
 any shared lib in <tt class="docutils literal"><span class="pre">/lib</span></tt> or <tt class="docutils literal"><span class="pre">/usr/lib</span></tt> is excluded.</dd>
+<dt><tt class="docutils literal"><span class="pre">datas</span></tt></dt>
+<dd>Data-file dependencies. These are data-file that are found to be needed by
+modules. They can be anything: plugins, font files, etc.</dd>
+<dt><tt class="docutils literal"><span class="pre">zipfiles</span></tt></dt>
+<dd>The zipfiles dependencies (usually <tt class="docutils literal"><span class="pre">egg-files</span></tt>).</dd>
 </dl>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="pyz">
 <h3><a class="toc-backref" href="#id23">PYZ</a></h3>
 <dt><tt class="docutils literal"><span class="pre">level</span></tt></dt>
 <dd>The Zlib compression level to use. If 0, the zlib module is not required.</dd>
 </dl>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="pkg">
 <h3><a class="toc-backref" href="#id24">PKG</a></h3>
 <dd>If 1, <tt class="docutils literal"><span class="pre">EXTENSIONs</span></tt> and <tt class="docutils literal"><span class="pre">BINARYs</span></tt> will be left out of the <tt class="docutils literal"><span class="pre">PKG</span></tt>, and
 forwarded to its container (usually a <tt class="docutils literal"><span class="pre">COLLECT</span></tt>).</dd>
 </dl>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="exe">
 <h3><a class="toc-backref" href="#id25">EXE</a></h3>
 </dl>
 </dd>
 </dl>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="dll">
 <h3><a class="toc-backref" href="#id26">DLL</a></h3>
 purpose DLL so the Python support in their app is hidden. You will need to
 write your own dll, but thanks to Allan Green for refactoring the C code and
 making that a managable task.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="collect">
 <h3><a class="toc-backref" href="#id27">COLLECT</a></h3>
 </dl>
 </dd>
 </dl>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="tree">
 <h3><a class="toc-backref" href="#id28">Tree</a></h3>
 </dl>
 <p>Since a <tt class="docutils literal"><span class="pre">Tree</span></tt> is a <tt class="docutils literal"><span class="pre">TOC</span></tt>, you can also use the exclude technique described above
 in the section on <tt class="docutils literal"><span class="pre">TOCs</span></tt>.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 </div>
 is more benign.</p>
 <p>Any problem detected here can be handled by hooking the analysis of the module.
 See <a class="reference internal" href="#listing-hidden-imports">Listing Hidden Imports</a> below for how to do it.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="getting-debug-messages">
 <h3><a class="toc-backref" href="#id32">Getting Debug Messages</a></h3>
 messages (for console apps, these go to stdout; for Windows apps, these show as
 MessageBoxes). This can be useful if you are doing complex packaging, or your
 app doesn't seem to be starting, or just to learn how the runtime works.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="getting-python-s-verbose-imports">
 <h3><a class="toc-backref" href="#id33">Getting Python's Verbose Imports</a></h3>
 </pre>
 <p>These messages will always go to <tt class="docutils literal"><span class="pre">stdout</span></tt>, so you won't see them on Windows if
 <tt class="docutils literal"><span class="pre">console=0</span></tt>.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 <div class="section" id="helping-installer-find-modules">
 Makespec.py --paths=path/to/thisdir;path/to/thatdir ...
 </pre>
 <p>(on *nix, use <tt class="docutils literal"><span class="pre">:</span></tt> as the path separator).</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="listing-hidden-imports">
 <h3><a class="toc-backref" href="#id36">Listing Hidden Imports</a></h3>
 hook mechanism is in the <a class="reference internal" href="#hooks">Hooks</a> section).</p>
 <p>If you successfully hook a publicly distributed module in this way, please send
 us the hook so we can make it available to others.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="extending-a-package-s-path">
 <h3><a class="toc-backref" href="#id37">Extending a Package's <tt class="docutils literal"><span class="pre">__path__</span></tt></a></h3>
 instance of <tt class="docutils literal"><span class="pre">mf.Module</span></tt> which has (more or less) the same attributes as a real
 module object. The hook function should return a <tt class="docutils literal"><span class="pre">mf.Module</span></tt> instance - perhaps
 a brand new one, but more likely the same one used as an arg, but mutated.
-See <a class="reference internal" href="#mf-py-a-modulefinder-replacement">mf.py: A Modulefinder Replacement</a> for details, and <a class="reference external" href="http://pyinstaller.hpcf.upr.edu/pyinstaller/browser/trunk/hooks/hook-win32com.py?rev=latest">hooks/hook-win32com.py</a>
+See <a class="reference internal" href="#mf-py-a-modulefinder-replacement">mf.py: A Modulefinder Replacement</a> for details, and <a class="reference external" href="http://www.pyinstaller.org/browser/trunk/hooks/hook-win32com.py?rev=latest">hooks/hook-win32com.py</a>
 for an example.</p>
 <p>Note that manipulations of <tt class="docutils literal"><span class="pre">__path__</span></tt> hooked in this way apply to the analysis,
 and only the analysis. That is, at runtime <tt class="docutils literal"><span class="pre">win32com.shell</span></tt> is resolved the same
 way as <tt class="docutils literal"><span class="pre">win32com.anythingelse</span></tt>, and <tt class="docutils literal"><span class="pre">win32com.__path__</span></tt> knows nothing of <tt class="docutils literal"><span class="pre">../win32comext</span></tt>.</p>
 <p>Once in awhile, that's not enough.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="changing-runtime-behavior">
 <h3><a class="toc-backref" href="#id38">Changing Runtime Behavior</a></h3>
 free to do almost anything. One provided hook sets things up so that win32com
 can generate modules at runtime (to disk), and the generated modules can be
 found in the win32com package.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="adapting-to-being-frozen">
 <h3><a class="toc-backref" href="#id39">Adapting to being &quot;frozen&quot;</a></h3>
 embedding DLL sets <tt class="docutils literal"><span class="pre">sys.frozen='dll'</span></tt>).</p>
 <p>For really advanced users, you can access the <tt class="docutils literal"><span class="pre">iu.ImportManager</span></tt> as
 <tt class="docutils literal"><span class="pre">sys.importManager</span></tt>. See <a class="reference internal" href="#iu-py">iu.py</a> for how you might make use of this fact.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="accessing-data-files">
 <h3><a class="toc-backref" href="#id40">Accessing Data Files</a></h3>
 <pre class="literal-block">
 os.path.join(os.environ[&quot;_MEIPASS2], relativename))
 </pre>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 </div>
 <p><a class="reference external" href="http://pmw.sourceforge.net/">Pmw</a> comes with a script named <tt class="docutils literal"><span class="pre">bundlepmw</span></tt> in the bin directory. If you follow the
 instructions in that script, you'll end up with a module named <tt class="docutils literal"><span class="pre">Pmw.py</span></tt>. Ensure
 that Builder finds that module and not the development package.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="win9xpopen">
 <h2><a class="toc-backref" href="#id43">Win9xpopen</a></h2>
 need to distribute <tt class="docutils literal"><span class="pre">win9xpopen.exe</span></tt> with your app. On older Pythons with
 Win32all, this would apply to Win32pipe and <tt class="docutils literal"><span class="pre">win32popenWin9x.exe</span></tt>. (On yet older
 Pythons, no form of popen worked on Win9x).</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="self-extracting-executables">
 <h2><a class="toc-backref" href="#id44">Self-extracting executables</a></h2>
 <p>On other platforms, the archive and the executable are separate, but the
 archive is named <tt class="docutils literal"><span class="pre">executable.pkg</span></tt>, and expected to be in the same directory.
 Other than that, the process is the same.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 <div class="section" id="one-pass-execution">
 <h3><a class="toc-backref" href="#id45">One Pass Execution</a></h3>
 <p>In a single directory deployment (<tt class="docutils literal"><span class="pre">--onedir</span></tt>, which is the default), all of the
 <li>runs all the scripts which are at the top level of the archive</li>
 <li>finalizes Python</li>
 </ul>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="two-pass-execution">
 <h3><a class="toc-backref" href="#id46">Two Pass Execution</a></h3>
 <p>The first pass:</p>
 <ul class="simple">
 <li>opens the archive</li>
-<li>extracts all the binaries in the archive (in PyInstaller v1.0, this is always to a
+<li>extracts all the binaries in the archive (in PyInstaller v1.4, this is always to a
 temporary directory).</li>
 <li>sets a magic environment variable</li>
 <li>sets <tt class="docutils literal"><span class="pre">LD_LIBRARY_PATH</span></tt> (non-Windows)</li>
 Unix/Linux versions. The major one is that because all of Python on Windows is
 in <tt class="docutils literal"><span class="pre">pythonXX.dll</span></tt>, and dynamic loading is so simple-minded, that one binary can
 be use with any version of Python. There's much in common, though, and that C
-code can be found in <a class="reference external" href="http://pyinstaller.hpcf.upr.edu/pyinstaller/browser/trunk/source/common/launch.c?rev=latest">source/common/launch.c</a>.</p>
+code can be found in <a class="reference external" href="http://www.pyinstaller.org/browser/trunk/source/common/launch.c?rev=latest">source/common/launch.c</a>.</p>
 <p>The Unix/Linux build process (which you need to run just once for any version
 of Python) makes use of the config information in your install (if you
 installed from RPM, you need the Python-development RPM). It also overrides
 <tt class="docutils literal"><span class="pre">sys.path</span></tt>.</p>
 <p>In both cases, while one PyInstaller download can be used with any Python
 version, you need to have separate installations for each Python version.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 </div>
 blobs of data. It gets its name from the fact that it can be manipulated easily
 from C, as well as from Python. Both of these derive from a common base class,
 making it fairly easy to create new kinds of archives.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="zlibarchive">
 <h2><a class="toc-backref" href="#id49"><tt class="docutils literal"><span class="pre">ZlibArchive</span></tt></a></h2>
 compiled). On a user's box with no source installed, this is not terribly
 useful, but if they send you the traceback, at least you can make sense of it.</p>
 <p><img alt="ZlibArchiveImage" src="images/ZlibArchive.png" /></p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="carchive">
 <h2><a class="toc-backref" href="#id50"><tt class="docutils literal"><span class="pre">CArchive</span></tt></a></h2>
 <tt class="docutils literal"><span class="pre">CArchive</span></tt> as a <tt class="docutils literal"><span class="pre">.zip</span></tt> file, you don't need to worry about this. The type codes
 are used by the self-extracting executables.</p>
 <p><img alt="CArchiveImage" src="images/CArchive.png" /></p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 <div class="section" id="license">
 </ol>
 </blockquote>
 <p>For updated information or clarification see our
-<a class="reference external" href="http://pyinstaller.hpcf.upr.edu/pyinstaller/wiki/FAQ">FAQ</a> at <a class="reference external" href="http://pyinstaller.hpcf.upr.edu/pyinstaller">PyInstaller</a>
+<a class="reference external" href="http://pyinstaller.hpcf.upr.edu/pyinstaller/wiki/FAQ">FAQ</a> at <a class="reference external" href="http://www.pyinstaller.org">PyInstaller</a>
 home page: <a class="reference external" href="http://pyinstaller.hpcf.upr.edu">http://pyinstaller.hpcf.upr.edu</a></p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="appendix">
 <h1><a class="toc-backref" href="#id52">Appendix</a></h1>
 Except for the fact that these return <tt class="docutils literal"><span class="pre">Module</span></tt> instances instead of real module
 objects, they are identical.</p>
 <p>Instead of an <tt class="docutils literal"><span class="pre">ImportManager</span></tt>, <tt class="docutils literal"><span class="pre">mf</span></tt> has an <tt class="docutils literal"><span class="pre">ImportTracker</span></tt> managing things.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 <div class="section" id="importtracker">
 <h3><a class="toc-backref" href="#id54">ImportTracker</a></h3>
 <p><tt class="docutils literal"><span class="pre">ImportTracker</span></tt> can be called in two ways: <tt class="docutils literal"><span class="pre">analyze_one(name,</span> <span class="pre">importername=None)</span></tt>
 useful, because it is the only way of answering the question &quot;Who imports
 name?&quot; But since it is somewhat unrealistic (very few real imports do not
 involve recursion), it deserves some explanation.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="analyze-one">
 <h3><a class="toc-backref" href="#id55"><tt class="docutils literal"><span class="pre">analyze_one()</span></tt></a></h3>
 or <tt class="docutils literal"><span class="pre">[&quot;A.B&quot;,</span> <span class="pre">&quot;A.B.C&quot;]</span></tt> depending on whether the import turns out to be relative or
 absolute. In addition, ImportTracker's modules dict will have Module instances
 for them.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="module-classes">
 <h3><a class="toc-backref" href="#id56">Module Classes</a></h3>
 when the import of <tt class="docutils literal"><span class="pre">B.C</span></tt> finally occurs, something completely different happens
 (from what a structural analysis would predict). But mf can handle this through
 it's hooks mechanism.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="code-scanning">
 <h3><a class="toc-backref" href="#id57">code scanning</a></h3>
 import. It recognizes when imports are found at the top-level, and when they
 are found inside definitions (deferred imports). Within that, it also tracks
 whether the import is inside a condition (conditional imports).</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="hooks">
 <h3><a class="toc-backref" href="#id58">Hooks</a></h3>
 the poor programmer using that package). The <tt class="docutils literal"><span class="pre">hook(mod)</span></tt> (if it exists) is
 called before looking at the others - that way it can, for example, test
 <tt class="docutils literal"><span class="pre">sys.version</span></tt> and adjust what's in <tt class="docutils literal"><span class="pre">hiddenimports</span></tt>.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="warnings">
 <h3><a class="toc-backref" href="#id59">Warnings</a></h3>
 during the code scan.</p>
 <p>Note that by using a hook module, you can silence some particularly tiresome
 warnings, but not all of them.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="cross-reference">
 <h3><a class="toc-backref" href="#id60">Cross Reference</a></h3>
 is <tt class="docutils literal"><span class="pre">(modulename,</span> <span class="pre">importers)</span></tt>, where importers is a list of the (fully qualified)
 names of the modules importing <tt class="docutils literal"><span class="pre">modulename</span></tt>. Both the returned list and the
 importers list are sorted.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="usage">
 <h3><a class="toc-backref" href="#id61">Usage</a></h3>
 &gt;&gt;&gt;
 </pre>
 </blockquote>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 <div class="section" id="iu-py-an-imputil-replacement">
 <p>There is an <tt class="docutils literal"><span class="pre">ImportManager</span></tt> which provides the replacement for builtin import
 and hides all the semantic complexities of a Python import request from it's
 delegates.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 <div class="section" id="importmanager">
 <h3><a class="toc-backref" href="#id63"><tt class="docutils literal"><span class="pre">ImportManager</span></tt></a></h3>
 <p><tt class="docutils literal"><span class="pre">ImportManager</span></tt> formalizes the concept of a metapath. This concept implicitly
 It's up to the <tt class="docutils literal"><span class="pre">ImportManager</span></tt> to decide if an import is relative or absolute;
 to see if the module has already been imported; to keep <tt class="docutils literal"><span class="pre">sys.modules</span></tt> up to
 date; to handle the fromlist and return the correct module object.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="importdirector">
 <h3><a class="toc-backref" href="#id64"><tt class="docutils literal"><span class="pre">ImportDirector</span></tt></a></h3>
 object or <tt class="docutils literal"><span class="pre">None</span></tt>. As you will see, an <tt class="docutils literal"><span class="pre">ImportDirector</span></tt> can consider name to be
 atomic - it has no need to examine name to see if it is dotted.</p>
 <p>To see how this works, we need to examine the <tt class="docutils literal"><span class="pre">PathImportDirector</span></tt>.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="pathimportdirector">
 <h3><a class="toc-backref" href="#id65"><tt class="docutils literal"><span class="pre">PathImportDirector</span></tt></a></h3>
 ineradicable.) <tt class="docutils literal"><span class="pre">Owners</span></tt> of the appropriate kind are created as needed (if all
 your imports are satisfied by the first two elements of <tt class="docutils literal"><span class="pre">sys.path</span></tt>, the
 <tt class="docutils literal"><span class="pre">PathImportDirector</span></tt>'s shadowpath will only have two entries).</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="owner">
 <h3><a class="toc-backref" href="#id66"><tt class="docutils literal"><span class="pre">Owner</span></tt></a></h3>
 namespace.</p>
 <p>The rest of the import namespace is covered by treelets, each rooted in a
 package module (an <tt class="docutils literal"><span class="pre">__init__.py</span></tt>).</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="packages">
 <h3><a class="toc-backref" href="#id67">Packages</a></h3>
 exactly what it gets. (In a flat namespace - like most archives - it is
 perfectly easy to route the request back up the package tree to the archive
 <tt class="docutils literal"><span class="pre">Owner</span></tt>, qualifying the name at each step.)</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="possibilities">
 <h3><a class="toc-backref" href="#id68">Possibilities</a></h3>
 age with it's <tt class="docutils literal"><span class="pre">__subimporter__</span></tt>).</p>
 <p>Once the new <tt class="docutils literal"><span class="pre">Owner</span></tt> class is registered with <tt class="docutils literal"><span class="pre">iu</span></tt>, you can put a zip file on
 <tt class="docutils literal"><span class="pre">sys.path</span></tt>. A package could even put a zip file on its <tt class="docutils literal"><span class="pre">__path__</span></tt>.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="compatibility">
 <h3><a class="toc-backref" href="#id69">Compatibility</a></h3>
 in <tt class="docutils literal"><span class="pre">sys.modules</span></tt> with a different one. Emulation of Python's native import is
 nearly exact, including the names recorded in <tt class="docutils literal"><span class="pre">sys.modules</span></tt> and module attributes
 (packages imported through <tt class="docutils literal"><span class="pre">iu</span></tt> have an extra attribute - <tt class="docutils literal"><span class="pre">__importsub__</span></tt>).</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="performance">
 <h3><a class="toc-backref" href="#id70">Performance</a></h3>
 containing the standard lib and the package being tested, this can be reduced
 to 5 to 10% slower (or, on my 1.52 box, 10% faster!) than builtin import. A bit
 more can be shaved off by manipulating the <tt class="docutils literal"><span class="pre">ImportManager</span></tt>'s metapath.</p>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="limitations">
 <h3><a class="toc-backref" href="#id71">Limitations</a></h3>
 import, relative import and recursive-relative import. No idea what the Python
 syntax for those should be, but <tt class="docutils literal"><span class="pre">__aimport__</span></tt>, <tt class="docutils literal"><span class="pre">__rimport__</span></tt> and <tt class="docutils literal"><span class="pre">__rrimport__</span></tt> were
 easy to implement.</p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 <div class="section" id="id1">
 <h3><a class="toc-backref" href="#id72">Usage</a></h3>
 &gt;&gt;&gt;
 </pre>
 </blockquote>
-<p><a class="reference internal" href="#back-to-top">Back to Top</a></p>
+<p><a class="reference internal" href="#pyinstaller-manual"><cite>Back to Top</cite></a></p>
 </div>
 </div>
 </div>
 <div class="footer">
 <hr class="footer" />
 <a class="reference external" href="source/Manual.rst">View document source</a>.
-Generated on: 2009-07-06 16:32 UTC.
+Generated on: 2010-03-13 15:54 UTC.
 Generated by <a class="reference external" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference external" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
 
 </div>
Binary file added.
+%PDF-1.4
+1 0 obj
+<<
+/Title (PyInstaller Manual)
+/Creator ()
+/Producer (Qt 4.6.1 (C) 2009 Nokia Corporation and/or its subsidiary(-ies))
+/CreationDate (D:20100313155438)
+>>
+endobj
+3 0 obj
+<<
+/Type /ExtGState
+/SA true
+/SM 0.02
+/ca 1.0
+/CA 1.0
+/AIS false
+/SMask /None>>
+endobj
+4 0 obj
+[/Pattern /DeviceRGB]
+endobj
+8 0 obj
+<<
+/ca 0 
+/CA 1 
+>>
+endobj
+10 0 obj
+[0 /XYZ 114.719999  
+407.599999  0]
+endobj
+11 0 obj
+[0 /XYZ 87.8400000  
+632.240000  0]
+endobj
+12 0 obj
+[0 /XYZ 114.719999  
+397.039999  0]
+endobj
+13 0 obj
+[0 /XYZ 87.8400000  
+621.679999  0]
+endobj
+14 0 obj
+[0 /XYZ 60.9600000  
+386.479999  0]
+endobj
+15 0 obj
+[0 /XYZ 87.8400000  
+612.079999  0]
+endobj
+16 0 obj
+[0 /XYZ 87.8400000  
+601.519999  0]
+endobj
+17 0 obj
+[0 /XYZ 87.8400000  
+590.959999  0]
+endobj
+18 0 obj
+[0 /XYZ 87.8400000  
+376.879999  0]
+endobj
+19 0 obj
+[0 /XYZ 114.719999  
+366.319999  0]
+endobj
+20 0 obj
+[0 /XYZ 114.719999  
+356.719999  0]
+endobj
+21 0 obj
+[0 /XYZ 114.719999  
+346.159999  0]
+endobj
+22 0 obj
+[0 /XYZ 87.8400000  
+335.599999  0]
+endobj
+23 0 obj
+[0 /XYZ 114.719999  
+325.999999  0]
+endobj
+24 0 obj
+[0 /XYZ 114.719999  
+315.439999  0]
+endobj
+25 0 obj
+[0 /XYZ 114.719999  
+303.919999  0]
+endobj
+26 0 obj
+[0 /XYZ 114.719999  
+293.360000  0]
+endobj
+27 0 obj
+[0 /XYZ 114.719999  
+282.799999  0]
+endobj
+28 0 obj
+[0 /XYZ 114.719999  
+272.240000  0]
+endobj
+29 0 obj
+[0 /XYZ 60.9600000  
+262.639999  0]
+endobj
+30 0 obj
+[0 /XYZ 87.8400000  
+252.079999  0]
+endobj
+31 0 obj
+[0 /XYZ 87.8400000  
+241.519999  0]
+endobj
+32 0 obj
+[0 /XYZ 87.8400000  
+231.919999  0]
+endobj
+33 0 obj
+[0 /XYZ 114.719999  
+221.360000  0]
+endobj
+34 0 obj
+[0 /XYZ 114.719999  
+210.799999  0]
+endobj
+35 0 obj
+[0 /XYZ 60.9600000  
+201.199999  0]
+endobj
+36 0 obj
+[0 /XYZ 87.8400000  
+190.639999  0]
+endobj
+37 0 obj
+[0 /XYZ 87.8400000  
+179.120000  0]
+endobj
+38 0 obj
+[0 /XYZ 33.1199999  
+800.239999  0]
+endobj
+39 0 obj
+[0 /XYZ 87.8400000  
+581.359999  0]
+endobj
+40 0 obj
+[0 /XYZ 33.1199999  
+800.239999  0]
+endobj
+41 0 obj
+[0 /XYZ 87.8400000  
+570.799999  0]
+endobj
+42 0 obj
+[0 /XYZ 87.8400000  
+560.240000  0]
+endobj
+43 0 obj
+[0 /XYZ 60.9600000  
+550.639999  0]
+endobj
+44 0 obj
+[0 /XYZ 87.8400000  
+166.639999  0]
+endobj
+45 0 obj
+[0 /XYZ 87.8400000  
+540.079999  0]
+endobj
+46 0 obj
+[0 /XYZ 60.9600000  
+156.079999  0]
+endobj
+47 0 obj
+[0 /XYZ 87.8400000  
+530.480000  0]
+endobj
+48 0 obj
+[0 /XYZ 60.9600000  
+145.519999  0]
+endobj
+49 0 obj
+[0 /XYZ 87.8400000  
+519.919999  0]
+endobj
+50 0 obj
+[0 /XYZ 87.8400000  
+134  0]
+endobj
+51 0 obj
+[0 /XYZ 87.8400000  
+509.359999  0]
+endobj
+52 0 obj
+[0 /XYZ 114.719999  
+123.439999  0]
+endobj
+53 0 obj
+[0 /XYZ 60.9600000  
+499.759999  0]
+endobj
+54 0 obj
+[0 /XYZ 114.719999  
+111.919999  0]
+endobj
+55 0 obj
+[0 /XYZ 87.8400000  
+489.199999  0]
+endobj
+56 0 obj
+[0 /XYZ 114.719999  
+100.399999  0]
+endobj
+57 0 obj
+[0 /XYZ 114.719999  
+90.7999999  0]
+endobj
+58 0 obj
+[0 /XYZ 114.719999  
+80.2400000  0]
+endobj
+59 0 obj
+[0 /XYZ 114.719999  
+69.6799999  0]
+endobj
+60 0 obj
+[0 /XYZ 87.8400000  
+478.639999  0]
+endobj
+61 0 obj
+[0 /XYZ 87.8400000  
+469.039999  0]
+endobj
+62 0 obj
+[0 /XYZ 114.719999  
+458.479999  0]
+endobj
+63 0 obj
+[0 /XYZ 114.719999  
+60.0799999  0]
+endobj
+64 0 obj
+[0 /XYZ 114.719999  
+447.919999  0]
+endobj
+65 0 obj
+[0 /XYZ 114.719999  
+438.319999  0]
+endobj
+66 0 obj
+[0 /XYZ 114.719999  
+49.5199999  0]
+endobj
+67 0 obj
+[0 /XYZ 60.9600000  
+662.959999  0]
+endobj
+68 0 obj
+[0 /XYZ 114.719999  
+427.759999  0]
+endobj
+69 0 obj
+[0 /XYZ 87.8400000  
+652.399999  0]
+endobj
+70 0 obj
+[0 /XYZ 114.719999  
+417.199999  0]
+endobj
+71 0 obj
+[0 /XYZ 87.8400000  
+642.799999  0]
+endobj
+72 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  654.319999  120.479999  662.959999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23getting#2dstarted
+>>
+>>
+endobj
+73 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  643.759999  166.560000  652.399999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23installing#2dpyinstaller
+>>
+>>
+endobj
+74 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  634.159999  181.920000  642.799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23building#2dthe#2dbootloaders
+>>
+>>
+endobj
+75 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  623.600000  219.359999  632.240000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23configuring#2dyour#2dpyinstaller#2dsetup
+>>
+>>
+endobj
+76 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  613.039999  217.439999  621.679999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23create#2da#2dspec#2dfile#2dfor#2dyour#2dproject
+>>
+>>
+endobj
+77 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  603.439999  156  612.079999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23build#2dyour#2dproject
+>>
+>>
+endobj
+78 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  592.879999  205.920000  601.519999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23windows#2dcom#2dserver#2dsupport
+>>
+>>
+endobj
+79 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  582.319999  161.759999  590.959999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23building#2doptimized
+>>
+>>
+endobj
+80 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  572.719999  171.360000  581.359999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23a#2dnote#2don#2dusing#2dupx
+>>
+>>
+endobj
+81 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  562.159999  185.759999  570.799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23how#2done#2dfile#2dmode#2dworks
+>>
+>>
+endobj
+82 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  551.600000  183.840000  560.240000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23egg#2dfiles#2dand#2dsetuptools
+>>
+>>
+endobj
+83 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  542  133.919999  550.639999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pyinstaller#2dutilities
+>>
+>>
+endobj
+84 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  531.439999  142.560000  540.079999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23archiveviewer
+>>
+>>
+endobj
+85 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  521.840000  127.200000  530.480000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23bindepend
+>>
+>>
+endobj
+86 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  511.279999  180  519.919999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23grabversion#2dwindows
+>>
+>>
+endobj
+87 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  500.719999  184.800000  509.359999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23analyzing#2ddependencies
+>>
+>>
+endobj
+88 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  491.119999  103.199999  499.759999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23spec#2dfiles
+>>
+>>
+endobj
+89 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  480.560000  132.960000  489.199999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23introduction
+>>
+>>
+endobj
+90 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  470  206.879999  478.639999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23toc#2dclass#2dtable#2dof#2dcontents
+>>
+>>
+endobj
+91 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  460.399999  159.840000  469.039999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23target#2dsubclasses
+>>
+>>
+endobj
+92 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  449.839999  148.319999  458.479999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23analysis
+>>
+>>
+endobj
+93 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  439.279999  131.039999  447.919999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pyz
+>>
+>>
+endobj
+94 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  429.679999  132.960000  438.319999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pkg
+>>
+>>
+endobj
+95 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  419.120000  131.039999  427.759999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23exe
+>>
+>>
+endobj
+96 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  408.560000  130.079999  417.199999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23dll
+>>
+>>
+endobj
+97 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  398.959999  154.079999  407.599999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23collect
+>>
+>>
+endobj
+98 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  388.399999  131.039999  397.039999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23tree
+>>
+>>
+endobj
+99 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  377.839999  155.039999  386.479999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23when#2dthings#2dgo#2dwrong
+>>
+>>
+endobj
+100 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  368.239999  206.879999  376.879999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23finding#2dout#2dwhat#2dwent#2dwrong
+>>
+>>
+endobj
+101 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  357.680000  191.519999  366.319999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23buildtime#2dwarnings
+>>
+>>
+endobj
+102 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  348.079999  214.560000  356.719999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23getting#2ddebug#2dmessages
+>>
+>>
+endobj
+103 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  337.519999  246.239999  346.159999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23getting#2dpython#2ds#2dverbose#2dimports
+>>
+>>
+endobj
+104 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  326.959999  205.920000  335.599999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23helping#2dinstaller#2dfind#2dmodules
+>>
+>>
+endobj
+105 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  317.359999  189.599999  325.999999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23extending#2dthe#2dpath
+>>
+>>
+endobj
+106 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  306.799999  202.079999  315.439999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23listing#2dhidden#2dimports
+>>
+>>
+endobj
+107 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  295.279999  262.560000  303.919999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23extending#2da#2dpackage#2ds#2dpath
+>>
+>>
+endobj
+108 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  284.720000  222.240000  293.360000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23changing#2druntime#2dbehavior
+>>
+>>
+endobj
+109 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  274.159999  216.479999  282.799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23adapting#2dto#2dbeing#2dfrozen
+>>
+>>
+endobj
+110 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  263.600000  199.199999  272.240000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23accessing#2ddata#2dfiles
+>>
+>>
+endobj
+111 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  254  116.640000  262.639999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23miscellaneous
+>>
+>>
+endobj
+112 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  243.439999  205.920000  252.079999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pmw#2dpython#2dmega#2dwidgets
+>>
+>>
+endobj
+113 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  232.879999  136.800000  241.519999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23win9xpopen
+>>
+>>
+endobj
+114 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  223.279999  194.400000  231.919999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23self#2dextracting#2dexecutables
+>>
+>>
+endobj
+115 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  212.720000  196.319999  221.360000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23one#2dpass#2dexecution
+>>
+>>
+endobj
+116 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  202.159999  194.399999  210.799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23two#2dpass#2dexecution
+>>
+>>
+endobj
+117 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  192.559999  137.759999  201.199999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pyinstaller#2darchives
+>>
+>>
+endobj
+118 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  182  169.439999  190.639999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23archives#2dintroduction
+>>
+>>
+endobj
+119 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  170.480000  162.719999  179.120000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23zlibarchive
+>>
+>>
+endobj
+120 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  158  141.599999  166.639999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23carchive
+>>
+>>
+endobj
+121 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  147.439999  90.7199999  156.079999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23license
+>>
+>>
+endobj
+122 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [60.9600000  136.879999  97.4399999  145.519999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23appendix
+>>
+>>
+endobj
+123 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  125.359999  240.479999  134 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23mf#2dpy#2da#2dmodulefinder#2dreplacement
+>>
+>>
+endobj
+124 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  114.799999  168.479999  123.439999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23importtracker
+>>
+>>
+endobj
+125 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  103.279999  203.039999  111.919999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23analyze#2done
+>>
+>>
+endobj
+126 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  91.7599999  178.079999  100.399999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23module#2dclasses
+>>
+>>
+endobj
+127 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  82.1599999  171.360000  90.7999999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23code#2dscanning
+>>
+>>
+endobj
+128 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  71.6000000  139.680000  80.2400000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23hooks
+>>
+>>
+endobj
+129 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  61.0399999  152.159999  69.6799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23warnings
+>>
+>>
+endobj
+130 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  51.4399999  180  60.0799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23cross#2dreference
+>>
+>>
+endobj
+131 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  40.8799999  139.680000  49.5199999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23usage
+>>
+>>
+endobj
+132 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [109.919999  739.759999  186.719999  748.399999 ]
+/Border [0 0 0]
+/A <<
+/Type /Action
+/S /URI
+/URI (mailto:rasky@develer.comrasky@develer.com)
+>>
+>>
+endobj
+133 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [156.959999  704.240000  431.519999  712.879999 ]
+/Border [0 0 0]
+/A <<
+/Type /Action
+/S /URI
+/URI (https://src.develer.com/svnoss/pyinstaller/trunk/doc/source/Manual.rst)
+>>
+>>
+endobj
+5 0 obj
+<<
+/Type /Page
+/Parent 2 0 R
+/Contents 134 0 R
+/Resources 136 0 R
+/Annots 137 0 R
+/MediaBox [0 0 595 842]
+>>
+endobj
+136 0 obj
+<<
+/ColorSpace <<
+/PCSp 4 0 R
+/CSp /DeviceRGB
+/CSpg /DeviceGray
+>>
+/ExtGState <<
+/GSa 3 0 R
+/GState8 8 0 R
+>>
+/Pattern <<
+>>
+/Font <<
+/F6 6 0 R
+/F7 7 0 R
+/F9 9 0 R
+>>
+/XObject <<
+>>
+>>
+endobj
+137 0 obj
+[ 72 0 R 73 0 R 74 0 R 75 0 R 76 0 R 77 0 R 78 0 R 79 0 R 80 0 R 81 0 R 82 0 R 83 0 R 84 0 R 85 0 R 86 0 R 87 0 R 88 0 R 89 0 R 90 0 R 91 0 R 92 0 R 93 0 R 94 0 R 95 0 R 96 0 R 97 0 R 98 0 R 99 0 R 100 0 R 101 0 R 102 0 R 103 0 R 104 0 R 105 0 R 106 0 R 107 0 R 108 0 R 109 0 R 110 0 R 111 0 R 112 0 R 113 0 R 114 0 R 115 0 R 116 0 R 117 0 R 118 0 R 119 0 R 120 0 R 121 0 R 122 0 R 123 0 R 124 0 R 125 0 R 126 0 R 127 0 R 128 0 R 129 0 R 130 0 R 131 0 R 132 0 R 133 0 R ]
+endobj
+134 0 obj
+<<
+/Length 135 0 R
+/Filter /FlateDecode
+>>
+stream
+x��]ݏ$9
+
+���?ѸdžN
+]���Яlv�D�\	�Ҩ��q�X�}~�������g�g�UɑJ�j�
+U�O}㍛Vޣ'/��mGVP@��]����oE/J�_O�?{���M�*^N��
+�۸_.{��<���z
+�����!klܞ����S��
+�L@� ��:K��o��6�%^��U�#�-jdg^����Cʅ��:`J��fC�y�� s#��%�C��#^Q`�4D%��M�aV0b�����'NJzU�t��a��-�0�z����d
+�o�Qȼ ~��G�[��μ���
+�1����5�%��eG� )QV�i�h
+�K�!�\��>����r��C��
+�� ��
+�V�J�Z��%��a�w*�tI�
+���2�u��3�:�m(^��V���G;5J/V]7���V]�V]g���U׋U�M���U׵U�٪kd��>�nP�K��cj�^�:�N������H
+S������
+�0�-%,x�
+��A�#:�d%�$ǂ_���u�����V�6�i/���-K�1��MvU���-K
+��*�-jdg^��W9Y �Q�;q��
+�`���`��Rf��m�Ʊa���:_��c�b
+�G��nr�
+x�r���y��.M
+�_C��Iw�/��t�a��8�p��,endstream
+endobj
+135 0 obj
+5127
+endobj
+140 0 obj
+[1 /XYZ 33.1199999  
+638  0]
+endobj
+141 0 obj
+[1 /XYZ 33.1199999  
+490.159999  0]
+endobj
+142 0 obj
+[1 /XYZ 114.719999  
+722.479999  0]
+endobj
+143 0 obj
+[1 /XYZ 114.719999  
+711.919999  0]
+endobj
+144 0 obj
+[1 /XYZ 114.719999  
+701.359999  0]
+endobj
+145 0 obj
+[1 /XYZ 87.8400000  
+812.719999  0]
+endobj
+146 0 obj
+[1 /XYZ 114.719999  
+800.239999  0]
+endobj
+147 0 obj
+[1 /XYZ 114.719999  
+788.719999  0]
+endobj
+148 0 obj
+[1 /XYZ 114.719999  
+776.240000  0]
+endobj
+149 0 obj
+[1 /XYZ 114.719999  
+763.759999  0]
+endobj
+150 0 obj
+[1 /XYZ 114.719999  
+753.199999  0]
+endobj
+151 0 obj
+[1 /XYZ 114.719999  
+742.639999  0]
+endobj
+152 0 obj
+[1 /XYZ 33.1199999  
+490.159999  0]
+endobj
+153 0 obj
+[1 /XYZ 114.719999  
+732.079999  0]
+endobj
+154 0 obj
+[1 /XYZ 33.1199999  
+638  0]
+endobj
+155 0 obj
+[1 /XYZ 33.1199999  
+677.359999  0]
+endobj
+156 0 obj
+[1 /XYZ 33.1199999  
+677.359999  0]
+endobj
+157 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [87.8400000  804.079999  221.280000  812.719999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23iu#2dpy#2dan#2dimputil#2dreplacement
+>>
+>>
+endobj
+158 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  791.599999  203.039999  800.239999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23importmanager
+>>
+>>
+endobj
+159 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  780.079999  209.759999  788.719999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23importdirector
+>>
+>>
+endobj
+160 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  767.600000  236.639999  776.240000 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pathimportdirector
+>>
+>>
+endobj
+161 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  755.120000  148.319999  763.759999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23owner
+>>
+>>
+endobj
+162 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  744.559999  154.079999  753.199999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23packages
+>>
+>>
+endobj
+163 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  734  161.759999  742.639999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23possibilities
+>>
+>>
+endobj
+164 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  723.439999  165.599999  732.079999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23compatibility
+>>
+>>
+endobj
+165 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  713.839999  163.680000  722.479999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23performance
+>>
+>>
+endobj
+166 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  703.279999  156.959999  711.919999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23limitations
+>>
+>>
+endobj
+167 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [114.719999  692.719999  139.680000  701.359999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23id1
+>>
+>>
+endobj
+168 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [188.639999  653.360000  343.199999  676.399999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23id2
+>>
+>>
+endobj
+169 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [33.1199999  623.600000  159.840000  638 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23id3
+>>
+>>
+endobj
+170 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [51.3599999  502.639999  99.3599999  511.279999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pyinstaller#2dmanual
+>>
+>>
+endobj
+171 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [33.1199999  475.759999  187.680000  490.159999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23id4
+>>
+>>
+endobj
+172 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [349.919999  134.959999  481.439999  151.279999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23self#2dextracting#2dexecutables
+>>
+>>
+endobj
+173 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [51.3599999  32.2399999  99.3599999  40.8799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pyinstaller#2dmanual
+>>
+>>
+endobj
+174 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [245.279999  61.9999999  270.239999  70.6399999 ]
+/Border [0 0 0]
+/A <<
+/Type /Action
+/S /URI
+/URI (http://www.scons.org)
+>>
+>>
+endobj
+138 0 obj
+<<
+/Type /Page
+/Parent 2 0 R
+/Contents 175 0 R
+/Resources 177 0 R
+/Annots 178 0 R
+/MediaBox [0 0 595 842]
+>>
+endobj
+177 0 obj
+<<
+/ColorSpace <<
+/PCSp 4 0 R
+/CSp /DeviceRGB
+/CSpg /DeviceGray
+>>
+/ExtGState <<
+/GSa 3 0 R
+/GState8 8 0 R
+>>
+/Pattern <<
+>>
+/Font <<
+/F6 6 0 R
+/F7 7 0 R
+/F139 139 0 R
+/F9 9 0 R
+>>
+/XObject <<
+>>
+>>
+endobj
+178 0 obj
+[ 157 0 R 158 0 R 159 0 R 160 0 R 161 0 R 162 0 R 163 0 R 164 0 R 165 0 R 166 0 R 167 0 R 168 0 R 169 0 R 170 0 R 171 0 R 172 0 R 173 0 R 174 0 R ]
+endobj
+175 0 obj
+<<
+/Length 176 0 R
+/Filter /FlateDecode
+>>
+stream
+x��]ݏ۸�_��∤HQ@Q ��-ЇA��Ї wipH����+ɲM�OԐ%ۻ����\��������>~.��G�����/�����r_����~޸
+LLv�0�;�V��C
+��j<Hd�
+���rmd9�c��p�
+.�	P�
+���4\�X��:�V�m�q᲻;p-��7��h%�
+��
+�����"��\e,&?ҙzt�9�L)��io�!�a������RpU���p�Ȗ.�I�D�f<,O���`ISz	@�x������L����:��S�x#����(�=G
+�\�csQg4�:��� �
+d�C� LQM�z
+���s��$���S
+�Cd�p��M��F�CJb�cCJ��
+�n�쵮@��j�a�"�@ק["0]�
+z�<?�EV�c}���B�U�;��8_b���� �Z��
+�B>�3
- �2I@��Hb�Օ�"Y&���s\�FH�!�"C��`�"cB\f)UiǠy�	�p����n��M�lڒ��`�2�z���;w��
+K��Б���\G��3/�NM@��
+x�
+���S�T1L	��
 @��2Z�"8��3I�dBd���75����$���%��*,�E��uȊ�����e
+endobj
+176 0 obj
+4868
+endobj
+181 0 obj
+[2 /XYZ 33.1199999  
+805.039999  0]
+endobj
+182 0 obj
+[2 /XYZ 33.1199999  
+805.039999  0]
+endobj
+183 0 obj
+[2 /XYZ 33.1199999  
+715.759999  0]
+endobj
+184 0 obj
+[2 /XYZ 33.1199999  
+715.759999  0]
+endobj
+185 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [33.1199999  790.639999  249.120000  805.039999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23id5
+>>
+>>
+endobj
+186 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [51.3599999  728.240000  99.3599999  736.879999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23pyinstaller#2dmanual
+>>
+>>
+endobj
+187 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [33.1199999  701.360000  242.400000  715.759999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23id6
+>>
+>>
+endobj
+188 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [240.479999  682.159999  359.519999  690.799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23windows#2dcom#2dserver#2dsupport
+>>
+>>
+endobj
+189 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [320.159999  76.3999999  394.079999  85.0399999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23building#2doptimized
+>>
+>>
+endobj
+190 0 obj
+<<
+/Type /Annot
+/Subtype /Link
+/Rect [51.3599999  36.0799999  478.560000  55.2799999 ]
+/Border [0 0 0]
+/Dest /file#3a#2f#2f#2fhome#2frasky#2fsrc#2fpyinstaller#2fdoc#2fManual.html#23spec#2dfiles
+>>
+>>
+endobj
+179 0 obj
+<<
+/Type /Page
+/Parent 2 0 R
+/Contents 191 0 R
+/Resources 193 0 R
+/Annots 194 0 R
+/MediaBox [0 0 595 842]
+>>
+endobj
+193 0 obj
+<<
+/ColorSpace <<
+/PCSp 4 0 R
+/CSp /DeviceRGB
+/CSpg /DeviceGray
+>>
+/ExtGState <<
+/GSa 3 0 R
+>>
+/Pattern <<
+>>
+/Font <<
+/F6 6 0 R
+/F7 7 0 R
+/F9 9 0 R
+/F139 139 0 R
+/F180 180 0 R
+>>
+/XObject <<
+>>
+>>
+endobj
+194 0 obj
+[ 185 0 R 186 0 R 187 0 R 188 0 R 189 0 R 190 0 R ]