diff options
author | Christian Heimes <christian@cheimes.de> | 2007-12-04 19:30:01 (GMT) |
---|---|---|
committer | Christian Heimes <christian@cheimes.de> | 2007-12-04 19:30:01 (GMT) |
commit | 8b0facf89e4ab62580efbcf74c70f636186f1e08 (patch) | |
tree | 7f12e2ba4e9b6f71d6c198138633fd39c8714223 /Doc/using/unix.rst | |
parent | 43f827b9fabd616fab6e62db7d5487d040b05179 (diff) | |
download | cpython-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.rst | 151 |
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 |