⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 index.lxp@lxpwrap=x8418_252ehtm.htm

📁 GUI Programming with Python
💻 HTM
📖 第 1 页 / 共 2 页
字号:
>setup.py</TT>.</P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2">MANIFEST.in</A></H2><P>Despite the <TTCLASS="VARNAME">data_files</TT> option to        <TTCLASS="FUNCTION">setup()</TT>, it is still necessary to provide        a second file that contains a list of extra, non-Python        files that need to be distributed. This file is called        <TTCLASS="FILENAME">MANIFEST.in</TT> (mind the capitalization),        and employs its own set of keywords to specify files to        include or exclude.</P><DIVCLASS="EXAMPLE"></A><P><B>Example 26-3. MANIFEST.in</B></P><PRECLASS="SCREEN">include kalaminclude kalam.batrecursive-include data *recursive-include pixmaps *recursive-include dialogs *        </PRE></DIV><P>Here, we include the <TTCLASS="FILENAME">kalam</TT> starter script        and the <TTCLASS="FILENAME">kalam.bat</TT> and batch file. Then we        recursively include everything in the directories        <TTCLASS="FILENAME">data</TT>, <TTCLASS="FILENAME">pixmaps</TT> and        <TTCLASS="FILENAME">dialogs</TT>. (The latter is not absolutely        necessary for running the application, but it can't hurt to        give people access to our dialog designs.)</P><P>The options available for        <TTCLASS="FILENAME">MANIFEST.in</TT> are:</P><P></P><UL><LI><P>include pat1 pat2 ...</P></LI><LI><P>exclude pat1 pat2 ...</P></LI><LI><P>recursive-include dir pat1 pat2 ...</P></LI><LI><P>recursive-exclude dir pat1 pat2 ...</P></LI><LI><P>global-include pat1 pat2 ...</P></LI><LI><P>global-exclude pat1 pat2 ...</P></LI><LI><P>prune dir</P></LI><LI><P>graft dir</P></LI></UL></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2">setup.cfg</A></H2><P>The <TTCLASS="FILENAME">setup.py</TT> script takes myriad        command-line options. You can also create a        <TTCLASS="FILENAME">setup.cfg</TT> file that contains the most        important options. Amongst those options are a number that tell the        installer to install the application in a        specific place. The user might need to edit these to reflect        his preferences. For Unix, a good default is:      </P><PRECLASS="PROGRAMLISTING">[install]install_lib=/usr/local/share/kalaminstall_data=/usr/local/share/kalaminstall_scripts=/usr/local/bin      </PRE><P>All Python files (everything that is mentioned in the        <TTCLASS="VARNAME">py_modules</TT> or <TTCLASS="VARNAME">packages</TT>        argument in <TTCLASS="FILENAME">setup.py</TT>) will be installed        in the install_lib directory. Everything that is mentioned in        the <TTCLASS="VARNAME">data_files</TT> argument will be installed        in the install_data directory. Likewise, everything that is        included in the <TTCLASS="VARNAME">scripts</TT> argument will be        installed in install_scripts.</P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2">Creating the source distribution</A></H2><P>We are now ready to create the source distribution. This is a        simple, one-line command:</P><PRECLASS="SCREEN">boud@calcifer:~/src/kalam &#62; python setup.py sdist      </PRE><P>The distutils will then spew a lot of text on the screen,        and deliver your package in a subdirectory named        <TTCLASS="FILENAME">dist</TT>:</P><PRECLASS="SCREEN">boudewijn@maldar:~/doc/pyqt/ch18/kalam &#62; python setup.py sdistrunning sdistreading manifest template 'MANIFEST.in'writing manifest file 'MANIFEST'creating kalam-1.0creating kalam-1.0/charmapcreating kalam-1.0/datacreating kalam-1.0/dialogscreating kalam-1.0/kalamlibcreating kalam-1.0/pixmapscreating kalam-1.0/typometercreating kalam-1.0/workspacemaking hard links in kalam-1.0...hard linking README -&#62; kalam-1.0hard linking edmund.py -&#62; kalam-1.0hard linking kalam -&#62; kalam-1.0hard linking kalam.bat -&#62; kalam-1.0hard linking setup.cfg -&#62; kalam-1.0hard linking setup.py -&#62; kalam-1.0hard linking sitecustomize.py -&#62; kalam-1.0hard linking startup.py -&#62; kalam-1.0hard linking charmap/__init__.py -&#62; kalam-1.0/charmaphard linking charmap/charmap.py -&#62; kalam-1.0/charmaphard linking data/Blocks.txt -&#62; kalam-1.0/datahard linking dialogs/frmfindreplace.ui -&#62; kalam-1.0/dialogshard linking dialogs/frmsettings.ui -&#62; kalam-1.0/dialogshard linking kalamlib/__init__.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/configtest.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/dlgfindreplace.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/dlgsettings.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/docmanager.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/docmanagertest.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/frmfindreplace.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/frmsettings.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/kalamapp.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/kalamconfig.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/kalamdoc.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/kalamview.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/macromanager.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/macromanagertest.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/main.py -&#62; kalam-1.0/kalamlibhard linking kalamlib/resources.py -&#62; kalam-1.0/kalamlibhard linking pixmaps/fileprint.xpm -&#62; kalam-1.0/pixmapshard linking pixmaps/find.png -&#62; kalam-1.0/pixmapshard linking pixmaps/listspace.png -&#62; kalam-1.0/pixmapshard linking pixmaps/listspace.xpm -&#62; kalam-1.0/pixmapshard linking pixmaps/splitspace.png -&#62; kalam-1.0/pixmapshard linking pixmaps/splitspace.xpm -&#62; kalam-1.0/pixmapshard linking pixmaps/stackspace.png -&#62; kalam-1.0/pixmapshard linking pixmaps/stackspace.xpm -&#62; kalam-1.0/pixmapshard linking pixmaps/tabmanager.png -&#62; kalam-1.0/pixmapshard linking pixmaps/tabmanager.xpm -&#62; kalam-1.0/pixmapshard linking pixmaps/workspace.png -&#62; kalam-1.0/pixmapshard linking pixmaps/workspace.xpm -&#62; kalam-1.0/pixmapshard linking typometer/__init__.py -&#62; kalam-1.0/typometerhard linking typometer/typometer.py -&#62; kalam-1.0/typometerhard linking workspace/__init__.py -&#62; kalam-1.0/workspacehard linking workspace/listspace.py -&#62; kalam-1.0/workspacehard linking workspace/splitspace.py -&#62; kalam-1.0/workspacehard linking workspace/stackspace.py -&#62; kalam-1.0/workspacehard linking workspace/tabmanager.py -&#62; kalam-1.0/workspacehard linking workspace/workspace.py -&#62; kalam-1.0/workspacecreating disttar -cf dist/kalam-1.0.tar kalam-1.0gzip -f9 dist/kalam-1.0.tarremoving 'kalam-1.0' (and everything under it)boudewijn@maldar:~/doc/pyqt/ch18/kalam &#62;      </PRE><P>That's it&#8212;a nice, clean and complete source distribution        of <SPANCLASS="APPLICATION">Kalam</SPAN>. You can generate both zip        archives and gzipped tarballs by providing options on the        command line:</P><PRECLASS="SCREEN">boudewijn@maldar:~/doc/pyqt/ch18/kalam &#62; python setup.py sdist  --formats=gztar,zip      </PRE><P>The options are zip, gztar, bztar, ztar and tar, for        zipfiles, gzipped tarfiles, bzipped tarfiles, compressed        tarfiles and plain tar files.</P></DIV><DIVCLASS="SECT2"><H2CLASS="SECT2">Installing a source archive</A></H2><P>Installing a source archive is a simple matter of        unpacking the archive and executing the following command:</P><PRECLASS="SCREEN"> boudewijn@maldar:~/doc/pyqt/ch18/kalam/dist/kalam-1.0 &#62; python setup.py install      </PRE><P>Distutils will copy everything to the location        designated in <TTCLASS="FILENAME">setup.cfg</TT>, and        <SPANCLASS="APPLICATION">kalam</SPAN> will be ready to run!.</P></DIV></DIV><DIVCLASS="NAVFOOTER"><HRALIGN="LEFT"WIDTH="100%"><TABLESUMMARY="Footer navigation table"WIDTH="100%"BORDER="0"CELLPADDING="0"CELLSPACING="0"><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top"><A accesskey="P" href="index.lxp@lxpwrap=x8401_252ehtm.htm">Prev</A></TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><A accesskey="H" href="index.lxp@lxpwrap=book1_252ehtm">Home</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top"><A accesskey="N" href="index.lxp@lxpwrap=x8580_252ehtm.htm">Next</A></TD></TR><TR><TDWIDTH="33%"ALIGN="left"VALIGN="top">Packaging source</TD><TDWIDTH="34%"ALIGN="center"VALIGN="top"><A accesskey="U" href="index.lxp@lxpwrap=c8349_252ehtm.htm">Up</A></TD><TDWIDTH="33%"ALIGN="right"VALIGN="top">Creating Unix RPM packages</TD></TR></TABLE></DIV></BODY></HTML>      </td>      </tr>      </table>      </td>    </tr>  </table>      

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -