如何下载Python依赖项

如何下载Python依赖项"srcset=

大多数时候,您将使用像pip或ActiveState Platform这样的包管理解决方案来安装依赖项。188bet金宝搏备用包管理器将自动下载依赖项以及您的任何需求。
此外,与pip不同的是,ActiveState平台将自动解析188bet金宝搏备用所有依赖项,以确保您的环境不会中断。
您可以尝试ActiveState188bet金宝搏备用平台注册一个免费账户.因此,在通常的实践中,您永远不需要自己手动下载和解析依赖项。

然而,在一些情况下,您可以选择手动下载您的依赖项,例如:

  • 你在用的系统是离线的,气隙的或者连接不可靠。
  • 您的组织希望创建一个Python包的本地存储库。
    • 如果您使用的软件包集需要得到Legal(即。,用于许可)或类似的
  • 其他原因

如果您选择创建自己的存储库,则需要能够下载所需的所有包,以及它们的依赖项——所有这些都不需要安装它们。

注意,在这些情况下,如果要部署在多个操作系统上,可能还需要下载特定于操作系统的依赖项。获取所有依赖项(包括特定于操作系统的依赖项)源代码的最简单方法是使用ActiveState Platform。188bet金宝搏备用

使用Pip下载Python依赖项

种子下载命令可以用于将包及其依赖项下载到当前目录(默认情况下),或者不安装它们而下载到指定位置。

下载包和依赖项

例如,要下载请求包及其所有依赖项到当前目录,而不安装它们,执行以下操作:

$ PIP下载请求

输出应该类似于:

certifi-2020.4.5.1-py2.py3-none-any.whlchardet-3.0.4-py2.py3-none-any.whlidna - 2.9 - py2.py3 any.whl——没有requests-2.23.0-py2.py3-none-any.whlurllib3-1.25.9-py2.py3-none-any.whl

只下载依赖关系

在某些情况下,您可能希望只下载包的依赖项,而不下载包本身。在这种情况下,您有两个选项:

  • 使用pipdeptree工具来收集所有依赖项的列表,创建一个列出所有依赖项的requirements.txt文件,然后使用种子下载命令。
  • 控件中获取包的依赖项列表setup . py文件

使用Pipdeptree获取依赖项

  1. 安装pipdeptree:
一个。安装pipdeptree

2.例如,生成一个依赖树请求

$ pipdeptree -p请求请求= = 2.23.0- certifi [required: >=2017.4.17, installed: 2020.4.5.1]- chardet [required: >=3.0.2,<4, installed: 3.0.4]- idna [required: >=2.5,<3, installed: 2.9]——urllib3(要求:> = 1.21.1 < 1.26,= 1.25.1 ! = 1.25.0安装:1.25.9]

3.将依赖项和版本信息复制到requirements.txt文件中:

certifi > = 2017.4.17chardet > = 3.0.2 < 4idna > = 2.5, < 3urllib3 > = 1.21.1 < 1.26, = 1.25.1 ! = 1.25.0

4.你现在可以下载依赖项到当前目录,而不需要安装它们:

(当前目录)$ PIP download -r requirements.txt

从Setup.py获取依赖项

从。获取依赖项列表setup . py文件,做以下工作:

  1. 打开setup . py文件和滚动到install_requiresSection,其外观应该类似于:
设置(...install_requires= (< depname >',< depname >...)

2.文件中列出的依赖项install_requires将它们分割并粘贴到requirements.txt文件中。

3.下载setuptools项目的依赖项:

(当前目录)$ PIP download -r requirements.txt<地址>

有关setup.py文件和install_requires规范,请参考:如何使用Python依赖项管理工具

下载一个Pipenv项目的Python依赖项

如果你和pipenv,用于下载依赖项的命令略有不同。

下载Pipenv包和依赖项

例如,要下载请求包及其所有依赖项到当前目录,而不安装它们,执行以下操作:

$ pipenv下载请求

输出应该类似于:

certifi-2020.4.5.1-py2.py3-none-any.whlchardet-3.0.4-py2.py3-none-any.whlidna - 2.9 - py2.py3 any.whl——没有requests-2.23.0-py2.py3-none-any.whlurllib3-1.25.9-py2.py3-none-any.whl

下载Pipenv依赖性

只下载一个pipenv项目的依赖项到一个特定的位置而不安装它们:

  1. 打开pipfile.lock文件为您的pipenv项目
  2. 文件中列出的依赖项需要部分,并将它们粘贴到requirements.txt文件中。例如:
" _meta ": {“希”:{“sha256”:“< hashcode >},“pipfile-spec”:6,“需要": {< depname >”:“版本号”< depname >”:“版本号”…}

3.要下载pipenv项目的依赖项到指定的位置而不安装它们:

$ PIP download -r requirements.txt<地址>

在Conda环境中下载Python依赖项

Conda环境还需要不同的命令来创建依赖项存储库。

下载Conda包和依赖项

例如,要下载请求包及其所有依赖项到当前目录,而不安装它们,执行以下操作:

(当前目录)美元Conda安装——仅下载请求

只下载Conda Dependencies

要想在conda环境中下载一个包的依赖项,最简单的方法是运行以下命令:

$ conda install——download-only——only-deps请求

控件还可以下载任何包的依赖项conda信息命令首先列出特定包的所有依赖项,然后将这些依赖项复制到requirements.txt文件中。

  1. 例如,要查看请求包,输入:
conda信息请求请求2.13.0 py36_0----------------------文件名:requests-2.13.0-py36_0.tar.bz2名称:请求...依赖关系:certifi > = 2017.4.17chardet > = 3.0.2 < 4idna > = 2.5, < 3pythonurllib3 > = 1.21.1 < 1.26, = 1.25.0 ! = 1.25.1

2.复制依赖项列表,包括版本信息进入一个requirements.txt文件。

3.运行以下命令下载依赖项而不安装它们:

$ conda install——download-only——file requirements.txt

依赖项将被下载到\包裹在Anaconda\Conda根目录下。Linux和Windows的根目录都是Anaconda\Conda安装目录。

在诗歌环境中下载依赖项

诗歌的环境从PyPI下载所有依赖项,所以您可以使用pip为您进行实际下载。但是,如果您想列出您的Poetry环境中的所有依赖项,以确保捕获所有依赖项,则需要使用特定的Poetry命令和文件。

下载诗歌包和依赖项

如前所述,Poetry从PyPI安装依赖项,因此您可以使用pip命令下载一个包及其所有依赖项。例如,要下载请求包及其所有依赖项到当前目录,而不安装它们,执行以下操作:

$ PIP下载请求

输出应该类似于:

certifi-2020.4.5.1-py2.py3-none-any.whlchardet-3.0.4-py2.py3-none-any.whlidna - 2.9 - py2.py3 any.whl——没有requests-2.23.0-py2.py3-none-any.whlurllib3-1.25.9-py2.py3-none-any.whl

仅下载诗歌环境依赖项

您可以通过以下两种方法之一来确定一个Poetry环境的依赖关系:

  • 查看pyproject。Toml文件的依赖项部分
  • 使用诗歌显示命令以在可视树中列出所有依赖项

然后,您可以将这些依赖项复制到requirements.txt文件中,并使用常见的pip命令下载它们。

使用Pyproject.toml获取依赖项

诗歌环境依赖是在pyproject中指定的。Toml文件下(tool.poetry.dev-dependencies)部分。例如:

(tool.poetry)...
(tool.poetry.dev-dependencies)pytest = " ^ 5.2”...

将dev-dependencies一节中列出的依赖项复制到requirements.txt文件中。参见下面的步骤3。

通过诗歌展获得依赖性

或者,您可以使用诗歌显示命令来在一个可视的树中列出Poetry项目的依赖关系,这可能有助于理解整体的依赖关系结构。使用诗歌显示,做以下工作:

  1. Cd进入项目并输入:
(诗歌项目)$诗歌秀-t

输出应该类似于:

pytest:简单强大的Python测试|——atomicwrites > = 1.0|——attrs > = 17.4.0|——彩色光*...

2.将依赖项列表复制到requirements.txt文件中

3.现在我们有了一个requirements.txt文件和我们的依赖项,我们可以下载它们了。请注意,由于默认情况下Poetry从PyPI下载包,所以实际上可以使用Pip为您的Poetry环境下载依赖项,并将它们保存到特定位置。为此,请输入您的诗歌项目,并输入:

项目(诗歌)美元PIP下载-r requirements.txt<地址>

使用ActiveState平台下载Python依赖项188bet金宝搏备用

Acti188bet金宝搏备用veState Platform GraphQL API可以用来下载包的源代码,它们的依赖关系,甚至os级的依赖关系,而无需安装它们。如果您需要修补代码,或者使用非二进制版本,这将非常有用。

下载附件:

  1. 注册一个免费账户创建你的项目
  2. 仔细阅读ActiveState平台188bet金宝搏备用建立图形API交互式文档以更好地理解API
  3. 运行项目的API查询,以显示要下载的所有源代码的链接。例如,您可以修改这个API查询通过以下方法返回到项目源代码的链接:
    1. 改变orgActiveState的你的组织的名字
    2. 改变的名字activepython - 3.8你的项目的名字
    3. 改变资源限制来显示更多的结果

构建Graph API Python 3.8"width=

需要为您的Python项目构建运行时环境吗?Acti188bet金宝搏备用veState平台允许您访问预配置的构建环境:

  • 消除依赖地狱-在可能的情况下,依赖关系会自动为你解析
  • 自动包装-最少的语言/操作系统专业知识
  • 没有工具-没有编译器源代码/设置
  • 自动设置-使用命令将运行时安装到虚拟环境中国家的工具。

观察该平台帮助开发人员更快地启动他们的Python项目

雷米米