新聞中心
2. 在類Unix環(huán)境下使用python
2.1. 獲得并安裝Python的最新版本
2.1.1. 在Linux中
Python預(yù)裝在大多數(shù)Linux發(fā)行版上,并作為一個(gè)包提供給所有其他用戶。 但是,您可能想要使用的某些功能在發(fā)行版提供的軟件包中不可用。這時(shí)您可以從源代碼輕松編譯最新版本的Python。

如果Python沒有預(yù)先安裝并且不在發(fā)行版提供的庫中,您可以輕松地為自己使用的發(fā)行版創(chuàng)建包。 參閱以下鏈接:
參見
https://www.debian.org/doc/manuals/maint-guide/first.en.html
對于Debian用戶
https://en.opensuse.org/Portal:Packaging
對于OpenSuse用戶
https://docs-old.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/RPM_Guide/ch-creating-rpms.html
對于Fedora用戶
http://www.slackbook.org/html/package-management-making-packages.html
對于Slackware用戶
2.1.2. 在FreeBSD和OpenBSD上
FreeBSD用戶,使用以下命令添加包:
pkg install Python3
OpenBSD用戶,使用以下命令添加包:
pkg_add -r pythonpkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages//python- .tgz
例如:i386用戶獲取Python 2.5.1的可用版本:
pkg_add ftp://ftp.openbsd.org/pub/OpenBSD/4.2/packages/i386/python-2.5.1p2.tgz
2.1.3. 在OpenSolaris系統(tǒng)上
你可以從 OpenCSW 獲取、安裝及使用各種版本的Python。比如 pkgutil -i python27 。
2.2. 構(gòu)建Python
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 just grab a fresh clone. (If you want to contribute patches, you will need a clone.)
構(gòu)建過程由常用命令組成:
./configuremakemake install
特定 Unix 平臺(tái)的 配置選項(xiàng) 和注意事項(xiàng)通常會(huì)詳細(xì)地記錄在 Python 源代碼樹的根目錄下的 README.rst 文件中。
警告
make install 可以覆蓋或偽裝 python3 二進(jìn)制文件。因此,建議使用 make altinstall 而不是 make install ,因?yàn)楹笳咧话惭b了 *exec_prefix*/bin/python*version* 。
2.3. 與Python相關(guān)的路徑和文件
這取決于本地安裝慣例; prefix ( ${prefix} )和 exec_prefix ( ${exec_prefix} ) 取決于安裝,應(yīng)解釋為GNU軟件;它們可能相同。
例如,在大多數(shù)Linux系統(tǒng)上,兩者的默認(rèn)值是 /usr 。
|
文件/目錄 |
含意 |
|---|---|
2.4. 雜項(xiàng)
要在Unix上使用Python腳本,需要添加可執(zhí)行權(quán)限,例如:
$ chmod +x script
并在腳本的頂部放置一個(gè)合適的Shebang線。一個(gè)很好的選擇通常是:
#!/usr/bin/env python3
將在整個(gè) PATH 中搜索Python解釋器。但是,某些Unix系統(tǒng)可能沒有 env 命令,因此可能需要將 /usr/bin/python3 硬編碼為解釋器路徑。
要在Python腳本中使用shell命令,請查看 subprocess 模塊。
2.5. 自定義 OpenSSL
要使用發(fā)行商的 OpenSSL 配置和系統(tǒng)信任存儲(chǔ)庫,請找到包含
openssl.cnf文件或符號(hào)鏈接的目錄,它位于/etc中。 在大多數(shù)發(fā)行版上該文件是在/etc/ssl或者/etc/pki/tls中。 該目錄還應(yīng)當(dāng)包含一個(gè)cert.pem文件和/或一個(gè)certs目錄。$ find /etc/ -name openssl.cnf -printf "%h\n"/etc/ssl
下載、編譯并安裝 OpenSSL。 請確保你使用
install_sw而不是install。install_sw的目標(biāo)不會(huì)覆蓋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
Build Python with custom OpenSSL (see the configure
--with-openssland--with-openssl-rpathoptions)$ 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 的補(bǔ)丁發(fā)布版具有向下兼容的 ABI。 你不需要重新編譯 Python 來更新 OpenSSL。 使用一個(gè)新的版本來替代自定義 OpenSSL 安裝版就可以了。
名稱欄目:創(chuàng)新互聯(lián)Python教程:2. 在類Unix環(huán)境下使用Python
網(wǎng)站網(wǎng)址:http://fisionsoft.com.cn/article/dpihchi.html


咨詢
建站咨詢
