由于其他依赖性,Conda环境的越大

发布于 2025-01-29 07:55:57 字数 1738 浏览 4 评论 0原文

的内容。

name: ong_env
channels:
  - conda-forge
  - defaults
dependencies:
  - appdirs
  - atomicwrites
  - attrs
  - autopep8
  - black
  - ca-certificates
  - certifi
  - click
  - colorama
  - coverage
  - execnet
  - flake8
  - flake8-polyfill
  - hypothesis
  - importlib-metadata
  - importlib_metadata
  - iniconfig
  - mccabe
  - more-itertools
  - mypy
  - mypy_extensions
  - openssl
  - packaging
  - pathspec
  - pep8-naming
  - pip
  - pluggy
  - psutil
  - py
  - pycodestyle
  - pyflakes
  - pyparsing
  - pytest
  - pytest-cov
  - pytest-forked
  - pytest-html
  - pytest-metadata
  - pytest-xdist
  - python
  - pywin32
  - regex
  - ruamel.yaml
  - ruamel.yaml.clib
  - setuptools
  - snakeviz
  - sortedcontainers
  - sqlite
  - toml
  - tomli
  - tornado
  - typed-ast
  - typing_extensions
  - vc
  - vs2015_runtime
  - wheel
  - wincertstore
  - zipp
  - zlib
  - antlr4-python3-runtime
  - chardet
  - charset-normalizer
  - decorator
  - deepdiff
  - idna
  - importlib-resources
  - jsonpath-ng
  - jsonschema
  - markdown
  - multipledispatch
  - ordered-set
  - ply
  - pycparser
  - pyrsistent
  - pythonnet
  - requests
  - six
  - types-markdown
  - untangle
  - urllib3
  - xlsxwriter
  - semi-ate-stdf
  - pip:
    - api4jenkins
    - jsonmerge
    - json-checker
    - logging-logger
    - nesteddict

遵循环境 如果我只是移动行-semi-ate-stdf一行向下移动(使用sem-ate而不是conda-forge One的PIP版本),则最终的环境的大小为213 MB!我很清楚原因 - 康达·福克(Conda -Forge)介绍了一些巨大的新依赖性(例如Clang和Qt5)。
这个问题是为什么 conda-forge需要这么多其他包裹,而不需要PIP。标记两个工具(Conda和Pip)安装半ate的0.1.26版本。
还是有一种方法告诉Conda创建一个“尽可能小”的环境,尽管我认为这已经是默认值,不是吗?


当我们将虚拟环境存储在SVN中时,许多用户需要从存储库中检查它的增加尺寸(以上超过3倍)对我们有很大的影响。

following content of environment.yml:

name: ong_env
channels:
  - conda-forge
  - defaults
dependencies:
  - appdirs
  - atomicwrites
  - attrs
  - autopep8
  - black
  - ca-certificates
  - certifi
  - click
  - colorama
  - coverage
  - execnet
  - flake8
  - flake8-polyfill
  - hypothesis
  - importlib-metadata
  - importlib_metadata
  - iniconfig
  - mccabe
  - more-itertools
  - mypy
  - mypy_extensions
  - openssl
  - packaging
  - pathspec
  - pep8-naming
  - pip
  - pluggy
  - psutil
  - py
  - pycodestyle
  - pyflakes
  - pyparsing
  - pytest
  - pytest-cov
  - pytest-forked
  - pytest-html
  - pytest-metadata
  - pytest-xdist
  - python
  - pywin32
  - regex
  - ruamel.yaml
  - ruamel.yaml.clib
  - setuptools
  - snakeviz
  - sortedcontainers
  - sqlite
  - toml
  - tomli
  - tornado
  - typed-ast
  - typing_extensions
  - vc
  - vs2015_runtime
  - wheel
  - wincertstore
  - zipp
  - zlib
  - antlr4-python3-runtime
  - chardet
  - charset-normalizer
  - decorator
  - deepdiff
  - idna
  - importlib-resources
  - jsonpath-ng
  - jsonschema
  - markdown
  - multipledispatch
  - ordered-set
  - ply
  - pycparser
  - pyrsistent
  - pythonnet
  - requests
  - six
  - types-markdown
  - untangle
  - urllib3
  - xlsxwriter
  - semi-ate-stdf
  - pip:
    - api4jenkins
    - jsonmerge
    - json-checker
    - logging-logger
    - nesteddict

results in a new conda environment (using conda env create -f environment.yml --prefix .\ong_env) of about 700 MB.
If I just move the line - semi-ate-stdf one line down (to use the pip version of semi-ate instead of the conda-forge one), the resulting environment is 213 MB in size! I am clear about the reason - conda-forge introduces some new dependencies that are huge (like clang and qt5).
The question is why is conda-forge requiring so many additional packages that pip does not need. Mark that both tools (conda as well as pip) install version 0.1.26 of semi-ate.
Or is there a way to tell conda to create an environment that is "as small as possible", although I would think that already is the default, isn't it?

As we store our virtual environment in SVN and many users need to check it out of the repository the increased size - by a factor of more than 3 - makes a huge difference to us.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

伏妖词 2025-02-05 07:55:57

最新的PYPI版本(v0.1.26)需求,但是Conda食谱没有正确更新此元数据。由于PYQT需要QT,这是一个巨大的框架,这可能是大多数人的起源,并且在描述的两个环境之间是差异的。

已提交了拉动请求以纠正这一点,因此,最终,一旦合并和构建分布,您应该能够从Conda版本中获得更可比的环境大小。

The latest PyPI version (v0.1.26) dropped a PyQt requirement, but the Conda recipe didn't correctly update this metadata. Since PyQt entails Qt, which is a huge framework, that is likely where most of the heft is originating and would be differential between the two environments described.

A pull request has been filed to correct this, so eventually you should be able to get a more comparable environment size out of the Conda version once that merges and the build distributes.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文