summaryrefslogtreecommitdiffstats
path: root/Doc/using/unix.rst
diff options
context:
space:
mode:
authorChristian Heimes <christian@cheimes.de>2007-12-04 19:30:01 (GMT)
committerChristian Heimes <christian@cheimes.de>2007-12-04 19:30:01 (GMT)
commit8b0facf89e4ab62580efbcf74c70f636186f1e08 (patch)
tree7f12e2ba4e9b6f71d6c198138633fd39c8714223 /Doc/using/unix.rst
parent43f827b9fabd616fab6e62db7d5487d040b05179 (diff)
downloadcpython-8b0facf89e4ab62580efbcf74c70f636186f1e08.zip
cpython-8b0facf89e4ab62580efbcf74c70f636186f1e08.tar.gz
cpython-8b0facf89e4ab62580efbcf74c70f636186f1e08.tar.bz2
Merged revisions 59323-59332 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk ........ r59324 | georg.brandl | 2007-12-04 17:10:02 +0100 (Tue, 04 Dec 2007) | 3 lines Add "Python on Unix" document, mostly written for GHOP by Shriphani Palakodety. ........ r59325 | facundo.batista | 2007-12-04 17:31:53 +0100 (Tue, 04 Dec 2007) | 3 lines fma speedup by avoiding to create a Context. Thanks Mark Dickinson. ........ r59326 | christian.heimes | 2007-12-04 17:36:20 +0100 (Tue, 04 Dec 2007) | 2 lines Added warning that make install may overwrite or masquerade the default python binary. Use make altinstall instead. A native English speaker may want to rephrase the paragraph. ;) ........ r59327 | georg.brandl | 2007-12-04 17:50:28 +0100 (Tue, 04 Dec 2007) | 2 lines Fix duplicate label and a typo. ........ r59329 | georg.brandl | 2007-12-04 18:46:27 +0100 (Tue, 04 Dec 2007) | 2 lines Add tutorial and examples to logging docs, from GHOP student "oscar8thegrouch". ........ r59332 | christian.heimes | 2007-12-04 19:43:19 +0100 (Tue, 04 Dec 2007) | 1 line These optimizations create smaller and a bit faster code on my machine. I've also disabled an optimization that may be dangerous. Intrinsic functions conflict with errno. ........
Diffstat (limited to 'Doc/using/unix.rst')
-rw-r--r--Doc/using/unix.rst151
1 files changed, 151 insertions, 0 deletions
diff --git a/Doc/using/unix.rst b/Doc/using/unix.rst
new file mode 100644
index 0000000..cc99a62
--- /dev/null
+++ b/Doc/using/unix.rst
@@ -0,0 +1,151 @@
+.. highlightlang:: none
+
+.. _using-on-unix:
+
+********************************
+ Using Python on Unix platforms
+********************************
+
+.. sectionauthor:: Shriphani Palakodety
+
+
+Getting and installing the latest version of Python
+===================================================
+
+On Linux
+--------
+
+Python comes preinstalled on most Linux distributions, and is available as a
+package on all others. However there are certain features you might want to use
+that are not available on your distro's package. You can easily compile the
+latest version of Python from source.
+
+In the event Python doesn't come preinstalled and isn't in the repositories as
+well, you can easily make packages for your own distro. Have a look at the
+following links:
+
+.. seealso::
+
+ http://www.linux.com/articles/60383
+ for Debian users
+ http://linuxmafia.com/pub/linux/suse-linux-internals/chapter35.html
+ for OpenSuse users
+ http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-creating-rpms.html
+ for Fedora users
+ http://www.slackbook.org/html/package-management-making-packages.html
+ for Slackware users
+
+
+On FreeBSD and OpenBSD
+----------------------
+
+* FreeBSD users, to add the package use::
+
+ pkg_add -r python
+
+* OpenBSD users use::
+
+ pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
+
+ For example i386 users get the 2.5.1 version of Python using::
+
+ pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
+
+
+On OpenSolaris
+--------------
+
+To install the newest Python versions on OpenSolaris, install blastwave
+(http://www.blastwave.org/howto.html) and type "pkg_get -i python" at the
+prompt.
+
+
+Building Python
+===============
+
+If you want to compile CPython yourself, first thing you should do is get the
+`source <http://python.org/download/source/>`_. You can download either the
+latest release's source or just grab a fresh `checkout
+<http://www.python.org/dev/faq/#how-do-i-get-a-checkout-of-the-repository-read-only-and-read-write>`_.
+
+The build process consists the usual ::
+
+ ./configure
+ make
+ make install
+
+invocations. Configuration options and caveats for specific Unix platforms are
+extensively documented in the :file:`README` file in the root of the Python
+source tree.
+
+.. warning::
+
+ ``make install`` can overwrite or masquerade the :file:`python` binary.
+ ``make altinstall`` is therefore recommended instead of ``make install``
+ since it only installs :file:`{exec_prefix}/bin/python{version}`.
+
+
+Python-related paths and files
+==============================
+
+These are subject to difference depending on local installation conventions;
+:envvar:`prefix` (``${prefix}``) and :envvar:`exec_prefix` (``${exec_prefix}``)
+are installation-dependent and should be interpreted as for GNU software; they
+may be the same.
+
+For example, on most Linux systems, the default for both is :file:`/usr`.
+
++-----------------------------------------------+------------------------------------------+
+| File/directory | Meaning |
++===============================================+==========================================+
+| :file:`{exec_prefix}/bin/python` | Recommended location of the interpreter. |
++-----------------------------------------------+------------------------------------------+
+| :file:`{prefix}/lib/python{version}`, | Recommended locations of the directories |
+| :file:`{exec_prefix}/lib/python{version}` | containing the standard modules. |
++-----------------------------------------------+------------------------------------------+
+| :file:`{prefix}/include/python{version}`, | Recommended locations of the directories |
+| :file:`{exec_prefix}/include/python{version}` | containing the include files needed for |
+| | developing Python extensions and |
+| | embedding the interpreter. |
++-----------------------------------------------+------------------------------------------+
+| :file:`~/.pythonrc.py` | User-specific initialization file loaded |
+| | by the user module; not used by default |
+| | or by most applications. |
++-----------------------------------------------+------------------------------------------+
+
+
+Miscellaneous
+=============
+
+To easily use Python scripts on Unix, you need to make them executable,
+e.g. with ::
+
+ $ chmod +x script
+
+and put an appropriate Shebang line at the top of the script. A good choice is
+usually ::
+
+ #!/usr/bin/env python
+
+which searches for the Python interpreter in the whole :envvar:`PATH`. However,
+some Unices may not have the :program:`env` command, so you may need to hardcode
+``/usr/bin/python`` as the interpreter path.
+
+To use shell commands in your python scripts, look at the :mod:`subprocess` module.
+
+
+Editors
+=======
+
+Vim and Emacs are excellent editors which support Python very well. For more
+information on how to code in python in these editors, look at:
+
+http://www.vim.org/scripts/script.php?script_id=790
+http://sourceforge.net/projects/python-mode
+
+Geany is an excellent IDE with support for a lot of languages. For more
+information, read: http://geany.uvena.de/
+
+Komodo edit is another extremely good IDE. It also has support for a lot of
+languages. For more information, read:
+http://www.activestate.com/store/productdetail.aspx?prdGuid=20f4ed15-6684-4118-a78b-d37ff4058c5f