如何下载Python依赖项
![如何下载Python依赖项"srcset=](https://cdn.activestate.com/wp-content/uploads/2020/08/how-to-download-Python-dependencies.png)
大多数时候,您将使用像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获取依赖项
- 安装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文件,做以下工作:
- 打开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项目的依赖项到一个特定的位置而不安装它们:
- 打开pipfile.lock文件为您的pipenv项目
- 文件中列出的依赖项需要部分,并将它们粘贴到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文件中。
- 例如,要查看请求包,输入:
$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项目的依赖关系,这可能有助于理解整体的依赖关系结构。使用诗歌显示,做以下工作:
- 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级的依赖关系,而无需安装它们。如果您需要修补代码,或者使用非二进制版本,这将非常有用。
下载附件:
- 注册一个免费账户创建你的项目
- 仔细阅读ActiveState平台188bet金宝搏备用建立图形API交互式文档以更好地理解API
- 运行项目的API查询,以显示要下载的所有源代码的链接。例如,您可以修改这个API查询通过以下方法返回到项目源代码的链接:
- 改变org从ActiveState的你的组织的名字
- 改变的名字从activepython - 3.8你的项目的名字
- 改变资源限制来显示更多的结果