glfs/general/prog/python.xml
Bruce Dubbs b88be39d0b Update to cmake-2.8.6.
Update to curl-7.22.0.
Updated to libarchive-2.8.5.
Reset all python references to python2.


git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8928 af4574ff-66df-0310-9fd7-8a98e5e911e0
2011-10-31 19:38:44 +00:00

258 lines
9.4 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY python3-download-http "http://www.python.org/ftp/python/&python3-version;/Python-&python3-version;.tar.xz">
<!ENTITY python3-download-ftp "&gentoo-ftp-repo;/Python-&python3-version;.tar.xz">
<!ENTITY python3-md5sum "3720ce9460597e49264bbb63b48b946d">
<!ENTITY python3-size "8.5 MB">
<!ENTITY python3-buildsize "141 MB (23MB for the test suite)">
<!ENTITY python3-time "1 SBU (additional 2.9 SBU to run the test suite)">
<!ENTITY python3htmldoc-download-http "http://docs.python.org/ftp/python/doc/&python3-majorver;/python3-&python3-majorver;-docs-html.tar.bz2">
<!ENTITY python3htmldoc-md5sum "55af06e320f35920ea9fed1f143e1286">
<!ENTITY python3htmldoc-size "4.2 MB">
]>
<sect1 id="python3" xreflabel="Python-&python3-version;">
<?dbhtml filename="python3.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Python-&python3-version;</title>
<indexterm zone="python3">
<primary sortas="a-Python3">Python</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Python</title>
<para>The <application>Python</application> package contains the
<application>Python</application> development environment.
This is useful for object-oriented programming, writing scripts,
prototyping large programs or developing entire applications.</para>
<!-- Python compiled against Pth, OpenSSL, and SQLite.
326 tests OK, 36 tests skipped, 0 failures -->
&lfs70_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&python3-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&python3-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &python3-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &python3-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &python3-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &python3-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<!--<itemizedlist spacing='compact'>
<listitem>
<para>Required patch: <ulink
url="&patch-root;/Python-&Python-version;-bdb_4.8-1.patch"/></para>
</listitem>
</itemizedlist>-->
<itemizedlist spacing='compact'>
<title>Optional HTML Documentation</title>
<listitem>
<para>Download (HTTP): <ulink url="&python3htmldoc-download-http;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &python3htmldoc-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &python3htmldoc-size;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Python Dependencies</bridgehead>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><xref linkend="pth"/>,
<xref linkend="libffi"/> or <xref linkend="gcc"/> (install JAVA so that the
<filename class="libraryfile">libffi</filename> library is built), and
<ulink url="http://www.bluez.org/">BlueZ</ulink></para>
<bridgehead renderas="sect4">Optional
(to create package-specific support modules)</bridgehead>
<para role="optional"><xref linkend="openssl"/>,
<xref linkend="tk"/>,
<xref linkend="db"/>, and
<xref linkend="sqlite"/></para>
<para>Note that there is a circular dependency with the
<application>Tk</application> package as it requires Xorg to be installed
but parts of Xorg depend on <application>Python</application>.</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/Python"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of Python</title>
<para>Install <application>Python</application> by running the following
commands:</para>
<screen><userinput>sed -i "s/ndbm_libs = \[\]/ndbm_libs = ['gdbm', 'gdbm_compat']/" setup.py &amp;&amp;
./configure --prefix=/usr --enable-shared &amp;&amp;
make</userinput></screen>
<para>To test the results, issue: <command>make test</command>. Note that
if you have an existing <application>Python</application> installation
which includes the <application>PyXML</application> module, the tests could
produce a segmentation fault.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install</userinput></screen>
<para>There is no documentation installed using the instructions above.
See the <filename>Doc/README.txt</filename> file in the source
distribution for instructions on how to create the html. Alternatively,
you can download preformatted documentation from <ulink
url="http://docs.python.org/download.html"/>.</para>
<para>In order to use the <command>help ('name_string')</command> feature
of the <command>python</command> interpreter with some statements and
keywords, you must download (or create) the optional HTML documentation
and install it. If you downloaded the HTML docs, issue the following
commands as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>install -v -m755 -d /usr/share/doc/Python-&python3-version;/html &amp;&amp;
tar --strip-components=1 \
--no-same-owner \
--no-same-permissions \
-C /usr/share/doc/Python-&python3-version;/html \
-xvf ../python-&python3-majorver;-docs-html.tar.bz2</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>sed -i "s/ndbm_libs = ..." setup.py</command>: This command
is used to fix a build problem with the <application>GDBM</application>
library.</para>
</sect2>
<sect2 role="configuration">
<title>Configuring Python</title>
<para>In order for <command>python</command> to find the installed
documentation, you must add the following environment variable to
individual user's or the system's profile:</para>
<screen role="root"><userinput>export PYTHONDOCS=/usr/share/doc/Python-&python3-version;/html</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>2to3, pydoc, python3, python3-config, python&python3-majorver;,
python&python3-majorver;-config, smtpd.py, and optionally if
<application>Tk</application> is installed, idle</seg>
<seg>libpython&python3-majorver;.so and numerous modules installed in
/usr/lib/python&python3-majorver;/lib-dynload</seg>
<seg>/usr/include/python&python3-majorver;,
/usr/lib/python&python3-majorver;, and
/usr/share/doc/python-&python3-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="idle">
<term><command>idle</command></term>
<listitem>
<para>is a wrapper script that opens a
<application>Python</application> aware GUI editor.</para>
<indexterm zone="python3 idle">
<primary sortas="b-idle">idle</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="pydoc">
<term><command>pydoc</command></term>
<listitem>
<para>is the <application>Python</application> documentation
tool.</para>
<indexterm zone="python3 pydoc">
<primary sortas="b-pydoc">pydoc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="python3-prog">
<term><command>python</command></term>
<listitem>
<para>is an interpreted, interactive, object-oriented programming
language.</para>
<indexterm zone="python3 python3-prog">
<primary sortas="b-python3">python3</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="python-ver">
<term><command>python&python3-majorver;</command></term>
<listitem>
<para>is a version-specific name for the <command>python</command>
program.</para>
<indexterm zone="python3 python-ver">
<primary sortas="b-python&python3-majorver;">python&python3-majorver;</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="smtpd.py">
<term><command>smtpd.py</command></term>
<listitem>
<para>is an SMTP proxy implemented in
<application>Python</application>.</para>
<indexterm zone="python3 smtpd.py">
<primary sortas="b-smtpd.py">smtpd.py</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>