如何安装、下载和构建Python轮子

Python的轮子

尝试一种更快、更简单的方法从源代码构建Python。使用ActiveState的Python 3.9并使用所需的包和依赖项构建自己的运行时。免费开始在ActiveState平台上创建帐户188bet金宝搏备用或者用你的GitHub账号登录。

Python安装轮子

开源Python包可以从源代码分发版(sdist)或轮子(whl)安装。根据Python打包权威(PyPA)的说法,轮子是pip从Python包索引(PyPI)安装Python模块的首选方式,因为它们更小,安装更快,比从sdist中包含的源代码构建包更高效。此外,大多数开发人员根本没有正确的工具和经验来自己从源代码构建一切。轮子提供了一个很好的捷径。

Pip将安装所有“口味”的车轮,包括:

  • 万能轮(any.whl),同时支持Python2和Python3。
  • 只包含纯Python代码的Python轮。这些文件通常以zip样式的归档文件分发,其中包含典型软件包安装所需的所有文件。
  • 特定于平台的轮子,它包含C扩展,因此必须预先编译为针对特定Python版本和操作系统的二进制发行版。Pip将为Windows、Linux或macOS安装适当的轮子。

如何安装轮胎

没有必要指定您想要安装一个轮子。默认情况下,pip将总是尝试安装一个wheel,除非您的操作系统没有whl文件,此时pip将尝试从sdist构建wheel(注意,如果系统上没有适当的资源和需求,这可能会失败)。

假设你不需要首先从python.org安装Python,你可以通过运行以下命令安装一个轮子:

pip安装< packagename >

使用实例安装指定版本的软件包:

pip安装< packagename > = = v.v

例如:

pip安装django = = 3.1.13

要从PyPI以外的存储库(如Github)安装包:

PIP安装-e git+

升级已经安装的包:

PIP安装——upgrade 

卸载软件包。

皮普卸载< packagename >

如何下载轮子

大多数包都提供多个轮子——每个版本对应作者所支持的Python和操作系统。如果您在组织的防火墙后预填充私有存储库,那么您可能需要下载多个轮子,因为您的开发人员可能在不同的操作系统上工作。

要将Python转盘下载到特定位置(-dest,通常是一个dir),运行以下命令:

Python -m PIP download——only-binary:all:——dest。——no - cache < package_name >

与其使用希望限制开发人员使用的轮来预填充存储库,不如使用预填充存储库,如ActiveState的托管工件存储库(Hosted Artifact repository, HAR),可以节省大量时间和精力。对于Python 3.9或更高版本,HAR可以在Windows和/或Linux轮子中预先填充。

HAR是ActiveState平台的一188bet金宝搏备用部分,您可以免费试用.HAR服务在企业层可用。看到188bet金宝搏备用ActiveState的平台定价为更多的信息。

如何构建Python轮子

当涉及到Python打包时,如果你的包完全由Python代码组成,你可以做以下事情:

  1. 确保Wheel和最新版本的setuptools已安装到您的系统上,请运行以下命令:
    python -m pip install -U wheel setuptools
  2. 然后运行:
    Python setup.py sdist bdist_wheel

这将创建一个源发行版(sdist)和一个轮文件(bdist_wheel),以及它的所有依赖项。现在可以将构建的发行版上传到PyPI。有关更多信息,请参见分享你爱的劳动:PyPI又快又脏

如果您的包已经链接了C库,那么您需要创建特定的构建环境,然后针对希望支持的每个目标操作系统分别编译您的包。

轮命名

轮子的文件名有特定的语法,由连字符分隔的多个部分组成:

{经销}- {version}({构建})? - {python.version} - {os_platform} .whl

每个部分都提供了关于轮子包含什么以及它可以部署在哪里的线索。例如:

“PyYAML-5.3.1-cp27-cp27m-win32。用于在32位Windows上使用Python 2.7进行部署

“PyYAML-5.3.1-cp35-cp35m-win_amd64。用于在64位AMD架构的Windows上使用Python 3.5进行部署

Pandas-1.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

用于在多个Linux版本上使用Python 3.7进行部署,如Ubuntu、Debian、CentOS、Fedora等。

注意:“manylinux”本质上是一个与编译器套件、多个版本的Python和pip以及一组允许的共享库捆绑在一起的Docker映像。

从源代码构建Python ?尝试ActiveState的平台

Acti188bet金宝搏备用veState平台允许您访问分布式的并行构建系统,这样即使是复杂的开发环境也可以在创纪录的时间内自动构建并打包为您的操作系统——直接从源代码开始——提供了它所带来的所有安全保证和灵活性。

依赖关系解析是188bet金宝搏备用ActiveState的平台。当您创建一个项目并开始添加需求时,平台会告诉您这些需求有哪些依赖项。

Acti188bet金宝搏备用veState Platform是一个基于云的Python构建工具。它提供了构建自动化和漏洞修复:

  • Python语言核心,包括Python 2.7和Python 3.5+
  • Python包及其依赖项,包括:
  • (即传递依赖关系。,依赖的依赖)
  • 链接的C和Fortran库,因此您可以构建数据科学包
  • Windows、Linux和macOS的操作系统级依赖
  • 依赖关系(即共享。OpenSSL)
  • 在几分钟内找到、修复和自动重建安全版本的Python包,如Django和环境

Python 3.9 Web GUI截图Acti188bet金宝搏备用veState平台的目标是处理每种语言的每个依赖项。这意味着要处理C/ c++级别的库、外部工具和所有存在的条件依赖项。更进一步,我们的最终目标是支持多语言项目。这意味着您可以同时使用Python和Perl包创建项目,我们将确保这两种语言使用相同的(最新的)OpenSSL版本。

了解ActiveState平台如何帮助您管理Python环境的依赖项。188bet金宝搏备用只需运行以下命令来安装Python 3.9和我们的包管理器State Tool:

窗户

powershell -Command "& $([scriptblock]::Create((New-Object Net.WebClient).DownloadString('https://platform.activestate.com/dl/cli/install.ps1')) -activate-default ActiveState-Labs/Python-3.9Beta"

Linux

——activate-default ActiveState-Labs/Python-3.9Beta .sh <(curl -q https://platform.activestate.com/dl/cli/install.sh)——activate-default ActiveState-Labs/Python-3.9Beta

现在可以运行状态install 。了解更多关于如何使用状态工具来管理Python环境。

让我们知道你的经验ActiveState的社区论坛。

观看这个视频来学习如何使用ActiveState188bet金宝搏备用平台来创建Python 3.9环境,然后使用平台的CLI(状态工具)来安装和管理它。

Suhani年代