|
1 .. highlightlang:: none |
|
2 |
|
3 .. _using-on-unix: |
|
4 |
|
5 ******************************** |
|
6 Using Python on Unix platforms |
|
7 ******************************** |
|
8 |
|
9 .. sectionauthor:: Shriphani Palakodety |
|
10 |
|
11 |
|
12 Getting and installing the latest version of Python |
|
13 =================================================== |
|
14 |
|
15 On Linux |
|
16 -------- |
|
17 |
|
18 Python comes preinstalled on most Linux distributions, and is available as a |
|
19 package on all others. However there are certain features you might want to use |
|
20 that are not available on your distro's package. You can easily compile the |
|
21 latest version of Python from source. |
|
22 |
|
23 In the event that Python doesn't come preinstalled and isn't in the repositories as |
|
24 well, you can easily make packages for your own distro. Have a look at the |
|
25 following links: |
|
26 |
|
27 .. seealso:: |
|
28 |
|
29 http://www.linux.com/articles/60383 |
|
30 for Debian users |
|
31 http://linuxmafia.com/pub/linux/suse-linux-internals/chapter35.html |
|
32 for OpenSuse users |
|
33 http://docs.fedoraproject.org/drafts/rpm-guide-en/ch-creating-rpms.html |
|
34 for Fedora users |
|
35 http://www.slackbook.org/html/package-management-making-packages.html |
|
36 for Slackware users |
|
37 |
|
38 |
|
39 On FreeBSD and OpenBSD |
|
40 ---------------------- |
|
41 |
|
42 * FreeBSD users, to add the package use:: |
|
43 |
|
44 pkg_add -r python |
|
45 |
|
46 * OpenBSD users use:: |
|
47 |
|
48 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz |
|
49 |
|
50 For example i386 users get the 2.5.1 version of Python using:: |
|
51 |
|
52 pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz |
|
53 |
|
54 |
|
55 On OpenSolaris |
|
56 -------------- |
|
57 |
|
58 To install the newest Python versions on OpenSolaris, install blastwave |
|
59 (http://www.blastwave.org/howto.html) and type "pkg_get -i python" at the |
|
60 prompt. |
|
61 |
|
62 |
|
63 Building Python |
|
64 =============== |
|
65 |
|
66 If you want to compile CPython yourself, first thing you should do is get the |
|
67 `source <http://python.org/download/source/>`_. You can download either the |
|
68 latest release's source or just grab a fresh `checkout |
|
69 <http://www.python.org/dev/faq/#how-do-i-get-a-checkout-of-the-repository-read-only-and-read-write>`_. |
|
70 |
|
71 The build process consists the usual :: |
|
72 |
|
73 ./configure |
|
74 make |
|
75 make install |
|
76 |
|
77 invocations. Configuration options and caveats for specific Unix platforms are |
|
78 extensively documented in the :file:`README` file in the root of the Python |
|
79 source tree. |
|
80 |
|
81 .. warning:: |
|
82 |
|
83 ``make install`` can overwrite or masquerade the :file:`python` binary. |
|
84 ``make altinstall`` is therefore recommended instead of ``make install`` |
|
85 since it only installs :file:`{exec_prefix}/bin/python{version}`. |
|
86 |
|
87 |
|
88 Python-related paths and files |
|
89 ============================== |
|
90 |
|
91 These are subject to difference depending on local installation conventions; |
|
92 :envvar:`prefix` (``${prefix}``) and :envvar:`exec_prefix` (``${exec_prefix}``) |
|
93 are installation-dependent and should be interpreted as for GNU software; they |
|
94 may be the same. |
|
95 |
|
96 For example, on most Linux systems, the default for both is :file:`/usr`. |
|
97 |
|
98 +-----------------------------------------------+------------------------------------------+ |
|
99 | File/directory | Meaning | |
|
100 +===============================================+==========================================+ |
|
101 | :file:`{exec_prefix}/bin/python` | Recommended location of the interpreter. | |
|
102 +-----------------------------------------------+------------------------------------------+ |
|
103 | :file:`{prefix}/lib/python{version}`, | Recommended locations of the directories | |
|
104 | :file:`{exec_prefix}/lib/python{version}` | containing the standard modules. | |
|
105 +-----------------------------------------------+------------------------------------------+ |
|
106 | :file:`{prefix}/include/python{version}`, | Recommended locations of the directories | |
|
107 | :file:`{exec_prefix}/include/python{version}` | containing the include files needed for | |
|
108 | | developing Python extensions and | |
|
109 | | embedding the interpreter. | |
|
110 +-----------------------------------------------+------------------------------------------+ |
|
111 | :file:`~/.pythonrc.py` | User-specific initialization file loaded | |
|
112 | | by the user module; not used by default | |
|
113 | | or by most applications. | |
|
114 +-----------------------------------------------+------------------------------------------+ |
|
115 |
|
116 |
|
117 Miscellaneous |
|
118 ============= |
|
119 |
|
120 To easily use Python scripts on Unix, you need to make them executable, |
|
121 e.g. with :: |
|
122 |
|
123 $ chmod +x script |
|
124 |
|
125 and put an appropriate Shebang line at the top of the script. A good choice is |
|
126 usually :: |
|
127 |
|
128 #!/usr/bin/env python |
|
129 |
|
130 which searches for the Python interpreter in the whole :envvar:`PATH`. However, |
|
131 some Unices may not have the :program:`env` command, so you may need to hardcode |
|
132 ``/usr/bin/python`` as the interpreter path. |
|
133 |
|
134 To use shell commands in your python scripts, look at the :mod:`subprocess` module. |
|
135 |
|
136 |
|
137 Editors |
|
138 ======= |
|
139 |
|
140 Vim and Emacs are excellent editors which support Python very well. For more |
|
141 information on how to code in python in these editors, look at: |
|
142 |
|
143 http://www.vim.org/scripts/script.php?script_id=790 |
|
144 http://sourceforge.net/projects/python-mode |
|
145 |
|
146 Geany is an excellent IDE with support for a lot of languages. For more |
|
147 information, read: http://geany.uvena.de/ |
|
148 |
|
149 Komodo edit is another extremely good IDE. It also has support for a lot of |
|
150 languages. For more information, read: |
|
151 http://www.activestate.com/store/productdetail.aspx?prdGuid=20f4ed15-6684-4118-a78b-d37ff4058c5f |