2. 在 Unix 平臺上使用 Python¶
2.1. 獲得並安裝 Python 的最新版本¶
2.1.1. 在 Linux 上¶
在大多數 Linux 發行版上會預先安裝 Python,並作為一個套件提供給所有其他使用者。但是發行版提供的套件可能沒有你想要使用的某些功能,這時你可以選擇從原始碼編譯最新版本的 Python。
如果最新版的 Python 沒有預先安裝,並且不在發行版提供的儲存庫 (repository) 中,你可以輕鬆地為自己使用的發行版建立套件。參閱以下連結:
也參考
- https://www.debian.org/doc/manuals/maint-guide/first.en.html
對於 Debian 使用者
- https://en.opensuse.org/Portal:Packaging
對於 OpenSuse 使用者
- https://docs.fedoraproject.org/en-US/package-maintainers/Packaging_Tutorial_GNU_Hello/
對於 Fedora 使用者
- https://slackbook.org/html/package-management-making-packages.html
對於 Slackware 使用者
2.1.1.1. 安裝 IDLE¶
在某些情況下,IDLE 可能不會包含在你的 Python 安裝中。
對於 Debian 和 Ubuntu 使用者:
sudo apt update sudo apt install idle
對於 Fedora、RHEL 和 CentOS 使用者:
sudo dnf install python3-idle
對於 SUSE 和 OpenSUSE 使用者:
sudo zypper install python3-idle
對於 Alpine Linux 使用者:
sudo apk add python3-idle
2.1.2. 在 FreeBSD 和 OpenBSD 上¶
FreeBSD 使用者應使用以下命令增加套件:
pkg install python3
OpenBSD 使用者應使用以下命令增加套件:
pkg_add -r python pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/<insert your architecture here>/python-<version>.tgz
例如 i386 使用者要取得 Python 2.5.1 的可用版本:
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
2.2. 建置 Python¶
也參考
If you want to contribute to CPython, refer to the devguide, which includes build instructions and other tips on setting up environment.
If you want to compile CPython yourself, first thing you should do is get the source. You can download either the latest release's source or grab a fresh clone. You will also need to install the build requirements.
建置過程由幾個常用命令組成:
./configure
make
make install
特定 Unix 平臺的配置選項和注意事項通常會詳細地記錄在 Python 原始碼樹 (source tree) 根目錄下的 README.rst 檔案中。
警告
make install 可以覆蓋或偽裝 python3 二進位制檔案。因此,建議使用 make altinstall 而不是 make install,因為它只安裝 exec_prefix/bin/pythonversion。
2.4. 雜項¶
要在 Unix 上使用 Python 腳本,你需要讓他們是可執行的 (executable),例如用
$ chmod +x script
並在腳本的頂部放一個合適的 Shebang。以下通常是個好選擇:
#!/usr/bin/env python3
將在整個 PATH 中搜尋 Python 直譯器。然而某些 Unix 系統可能沒有 env 命令,因此你可能需要將 /usr/bin/python3 寫死 (hardcode) 成直譯器路徑。
要在 Python 腳本中使用 shell 命令,請見 subprocess 模組。
2.5. 客製化 OpenSSL¶
要使用你所選擇發行商 (vendor) 的 OpenSSL 配置和系統信任儲存區 (system trust store),請找到包含
openssl.cnf檔案的目錄或位於/etc的符號連結 (symlink)。在大多數發行版上,該檔案會是在/etc/ssl或者/etc/pki/tls中。該目錄亦應包含一個cert.pem檔案和/或一個certs目錄。$ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
下載、建置並安裝 OpenSSL。請確保你使用
install_sw而不是install。install_sw的目標不會覆蓋openssl.cnf。$ curl -O https://www.openssl.org/source/openssl-VERSION.tar.gz $ tar xzf openssl-VERSION $ pushd openssl-VERSION $ ./config \ --prefix=/usr/local/custom-openssl \ --libdir=lib \ --openssldir=/etc/ssl $ make -j1 depend $ make -j8 $ make install_sw $ popd
使用客製化 OpenSSL 建置 Python(參見配置
--with-openssl和--with-openssl-rpath選項)$ pushd python-3.x.x $ ./configure -C \ --with-openssl=/usr/local/custom-openssl \ --with-openssl-rpath=auto \ --prefix=/usr/local/python-3.x.x $ make -j8 $ make altinstall
備註
OpenSSL 的修補釋出版 (patch releases) 具有向後相容的 ABI。你不需要重新編譯 Python 來更新 OpenSSL。使用一個新的版本來替代客製化 OpenSSL 安裝版就可以了。