gpt4 book ai didi

python - 配置 conda 构建以从 conda 包输出中排除一些文件夹

转载 作者:太空狗 更新时间:2023-10-29 21:59:08 24 4
gpt4 key购买 nike

tl;博士:

如何排除文件夹被 conda build 打包?

上下文

我正在使用 conda build 构建我的第一个包。

我的 meta.yaml 文件如下所示:

package:
name: 'some_name'
version: {{ load_setup_py_data().get('version') }}

source:
path: ./

build:
script: python setup.py install --single-version-externally-managed --record=record.txt

requirements:
run:
- python >=3.6
- pandas >=0.2
- numpy >=1.12
# Packages that must be installed
# in the user's conda environment
# to run this package.

build:
# Packages used by setup.py
# to install this package.
# May also install compilers
# for non-python code.
- python
- setuptools

我的根目录(setup.py 和 meta.yaml 文件所在的位置)如下所示:

$ ls
README.md __pycache__ input isi_classif meta.yaml
notebooks output scripts setup.py version.py

有些文件夹之所以存在,是因为它们在原型(prototype)制作过程中很有用,但我不想从存储库中删除它们。

如何从 conda 构建的包中排除文件夹(如 inputnotebooks)及其内容?

有关信息,我使用以下命令构建:

$ conda build some_folder_name

最佳答案

我认为最好的方法是创建一个目录 recipe/ 并将与食谱相关的文件移到那里。然后将 meta.yaml 更改为

source:
path: ./..

因此只有 recipe 目录的内容会被 conda 复制到包中。其次,文件夹 notebooksinput 只有在要包含的 setup.py 中指定时才会被包含。否则它们将被忽略。因此它们不会作为 setup.py install 的一部分安装,也不会包含在包中。所以你的源目录结构看起来像:

some_folder_name
|--README.md
|--__pycache__
|--input
|--isi_classif
|--recipe
|--meta.yaml
|--notebooks
|--output
|--scripts
|--setup.py
|--version.py

那么你仍然可以使用conda 构建 some_folder_name

关于python - 配置 conda 构建以从 conda 包输出中排除一些文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55055035/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com