一个简单的库,用于创建用于跨平台共享的 Conda 环境规范的缩小或宽松版本。
项目描述
康达缩小
一个简单的库,用于创建用于跨平台共享的 Conda 环境规范的缩小或宽松版本。
为什么选择 Conda 缩小?
我在尝试使用另一个团队的项目时遇到问题并不少见。尽管项目有很好的文档记录并包含一个environment.yaml用于设置环境的文件,但在 Windows 和 Unix 之间移动使这变得非常困难。有几个因素在起作用:
- 适用于 Unix 和 Windows 的 Conda 包可以有不同的内部版本号
- 有时,为一个操作系统构建的软件包具有不可用的子子版本(例如“0.11.3.1”)
- 较低级别的依赖关系通常在操作系统版本之间有所不同
- 通常环境规范只是“按原样”导出,而不考虑实际需要哪些包
Conda 缩小是做什么的?
Conda Minify 提供了一种简单的方法来生成 Conda 规范 YAML 文件,而该文件仅具有近似重现环境所需的最低要求。Conda 可以找出依赖项的其余详细信息。例如,如果您有一个包含 Pandas 和 Matplotib 的环境;共享环境实际上只需要指定 Pandas 和 Matplotib 及其版本。
安装
这些是推荐的安装方法。值得注意的是,无需安装即可使用相同的 CLI 命令将 Conda Minify 作为脚本模块运行;请参阅使用部分。
通过康达
conda install conda-minify -c jamespreed
通过画中画
pip install conda-minify
用法
Conda Minify 有两种减少环境要求的主要方法:minify和relax.
minify- 共享环境的主要工具。这会分析整个环境的依赖关系图,并且只导出“顶级”包的需求。即,如果您使用 , 创建了一个环境conda create -n myenv pandas,那么minify将仅pandas作为规范返回。relax- “放松”版本要求的辅助工具。这允许您将确切的版本规范转换为只有主要、次要或根本没有。即scipy=1.3.2可以成为scipy=1.3.*,或scipy=1.*或只是scipy。其他选项允许固定和覆盖版本。
命令行界面
安装后,可以使用以下命令调用 CLI:
conda-minify [--name env_name] [--relax] [--how method] [-f filename] [options ...]
--name env_name- 环境导出的名称,如果未通过,则使用当前环境。--relax- 切换到使用上述relax方法。--how method- 用于创建版本字符串的方法。-f filename- (可选)将缩小后的规格写入屏幕,filename否则会打印到屏幕上。minify运行该工具以查看完整的选项列表relax
通过 Python 的 CLI
Conda Minify 设计为在您的基本 Conda 安装被锁定并禁止安装新软件包的情况下作为脚本模块运行。或者因为你不想把新东西扔到你干净的 Anaconda 基础环境中(我理解)。
使用 git 克隆 repo(或下载 zip 并解压缩),移动到 repo 的顶部文件夹,然后使用 Python 运行:
$> git clone https://github.com/jamespreed/conda-minify.git
$> cd conda-minify
$> pythnon -m conda_minify <name> <minify | relax> [-f filename] [options ...]
Python API
为了以编程方式运行,Python API 提供了一种相对简单的方法。
from conda_minify import CondaEnvironment
# create a CondaEnvironment object for the myenv environment.
cenv = CondaEnvironment(name='myenv')
# build the dependency graph
cenv.build_graph()
# write out the minified version to a file
cenv.minify_requirements(
export_path='myenv.yaml',
include=['python'], # include python so we can set the version
how='minor' # relax version requirements to minor releases
)
# OR export the relaxed requirements
cenv.relax_requirements(
export_path='myenv.yaml',
how='none', # add no versions
pin=['pandas'], # except pin the version of pandas i.e. 0.25.3
override={'python': 'minor'} # and use the minor version of python i.e. 3.7.*
)
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
conda-minify-0.1.2.tar.gz
(13.9 kB
查看哈希)
内置分布
conda_minify-0.1.2-py3-none-any.whl
(14.4 kB
查看哈希)
关
conda_minify -0.1.2-py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 610abc0e42f71a96a9638572d24b7e40f7817c15461a863aaced80f27e791991 |
|
| MD5 | 52fba2dd11470c3ad74abf6bc9d633ab |
|
| 布莱克2-256 | 270300c6e33a659c36ec228762bf92c7cd1cb37aa083d976a7e34acadf179f7d |