2. Unix环境下Python的安装和使用

无极低码 :https://wheart.cn

​2. 在类Unix环境下使用Python

2.1. 获得并安装Python的最新版本

2.1.1. 在Linux中

Python预装在大多数Linux发行版上,并作为一个包提供给所有其他用户。 但是,您可能想要使用的某些功能在发行版提供的软件包中不可用。这时您可以从源代码轻松编译最新版本的Python。

如果Python没有预先安装并且不在发行版提供的库中,您可以轻松地为自己使用的发行版创建包。 参阅以下链接:

参见

https://www.debian.org/doc/manuals/maint-guide/first.en.html

对于Debian用户

Portal:Packaging - openSUSE Wiki

对于OpenSuse用户

Packaging Tutorial: GNU Hello :: Fedora Docs

对于Fedora用户

Making Packages

对于Slackware用户

2.1.2. 在FreeBSD和OpenBSD上

2.2. 构建Python

如果你想自己编译 CPython,首先要做的是获取 源代码。 你可以下载最新发布版的 source 或是直接抓取最新的 clone。 (如果你想要贡献补丁,那么你就必须先 clone。)

构建过程由常用命令组成:

复制代码
./configure
make
make install

特定 Unix 平台的 配置选项 和注意事项通常会详细地记录在 Python 源代码树的根目录下的 README.rst 文件中。

警告

make install 可以覆盖或伪装 python3 二进制文件。因此,建议使用 make altinstall 而不是 make install ,因为后者只安装了 exec_prefix/bin/pythonversion 。

2.3. 与Python相关的路径和文件

这些取决于本机安装惯例的不同;prefix 和 exec_prefix 依赖于具体安装并且应当被解读为针对 GNU 软件;它们可能具有相同的含义。

例如,在大多数Linux系统上,两者的默认值是 /usr 。

文件/目录 含意
exec_prefix/bin/python3 解释器的推荐位置
prefix/lib/pythonversion, exec_prefix/lib/pythonversion 包含标准模块的目录的推荐位置
prefix/include/pythonversion, exec_prefix/include/pythonversion 包含开发Python扩展和嵌入解释器所需的include文件的目录的推荐位置

2.4. 杂项

要在Unix上使用Python脚本,需要添加可执行权限,例如:

复制代码
$ chmod +x script

并在脚本的顶部放置一个合适的Shebang线。一个很好的选择通常是:

复制代码
#!/usr/bin/env python3

将在整个 PATH 中搜索Python解释器。但是,某些Unix系统可能没有 env 命令,因此可能需要将 /usr/bin/python3 硬编码为解释器路径。

要在Python脚本中使用shell命令,请查看 subprocess 模块。

2.5. 自定义 OpenSSL

  1. 要使用发行商的 OpenSSL 配置和系统信任存储库,请找到包含 openssl.cnf 文件或符号链接的目录,它位于 /etc 中。 在大多数发行版上该文件是在 /etc/ssl 或者 /etc/pki/tls 中。 该目录还应当包含一个 cert.pem 文件和/或一个 certs 目录。 $ find /etc/ -name openssl.cnf -printf "%h\n" /etc/ssl
  2. 下载、编译并安装 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
  3. 使用自定义的 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 的补丁发布版具有向下兼容的 ABI。 你不需要重新编译 Python 来更新 OpenSSL。 使用一个新的版本来替代自定义 OpenSSL 安装版就可以了。​

相关推荐
Misnice8 分钟前
Python 的数据类型
java·windows·python
FITA阿泽要努力9 分钟前
Sub Agent:上下文管理的艺术
人工智能·python·agent
l1t15 分钟前
DeepSeek总结的本地优先的分析不需要数据库服务器
运维·服务器·数据库·人工智能·duckdb
全栈弄潮儿18 分钟前
Python实战第10期:异常处理
后端·python·编程语言
余槐i28 分钟前
加了Cookie yt-dlp仍报HTTP 403:3个容易漏的请求头差异
python·http·ffmpeg·开发工具·yt-dlp
菜鸟不秃头39 分钟前
手搓 ViT -- 并完成图像分类任务
python
ZhuoAIStage42 分钟前
舞台工艺检测表单自动生成:用 Python 与智能体 Skill 打通规范限值到可填表的数据流
python·第三方检测·舞台工艺·表单自动生成·规范性引用
a5986521 小时前
无公网IP,ARM服务器搭建云手机远程访问方案
服务器·arm开发·tcp/ip·云手机
MoRanzhi12032 小时前
第3篇 · 使用 PyQt5 实现 2048 桌面版游戏:MVC 架构与撤销和重做
python·mvc·pyqt5·桌面应用开发·gui开发·2048游戏·撤销与重做
蚰蜒螟2 小时前
从 Java SocketChannel 到 TCP 挥手:一次 close() 的完整调用链与引用计数解析
java·python·tcp/ip