god*_*dot 7 python python-module anaconda conda conda-build
如何排除打包文件夹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
Run Code Online (Sandbox Code Playgroud)
我的根目录(位于setup.py和meta.yaml文件中)如下所示:
$ ls
README.md __pycache__ input isi_classif meta.yaml
notebooks output scripts setup.py version.py
Run Code Online (Sandbox Code Playgroud)
有些文件夹之所以存在,是因为它们在原型制作过程中很有用,但我不想从存储库中删除它们。
如何从conda构建的程序包中排除文件夹(如input或notebooks此处)及其内容?
有关信息,我使用以下命令进行构建:
$ conda build some_folder_name
Run Code Online (Sandbox Code Playgroud)
我正在寻找答案,我发现的所有内容都已经在问题的评论中。由于这些解决方案似乎有效(未按预期但仍然有效),我将在这里进行解释。我在测试项目中尝试了第二种解决方案,它有效。我还是不习惯conda。
显式文件列表是从构建前缀的根开始的相对路径。显式文件列表支持 glob 表达式。还支持目录名称,并且它们递归地包含内容。
Run Code Online (Sandbox Code Playgroud)outputs: - name: subpackage-name files: - a-file - a-folder - *.some-extension - somefolder/*.some-extension
创建文件或将文件移动到构建前缀的脚本可以是任何类型的脚本。已知的脚本类型只需要指定脚本名称。目前可识别的扩展名列表是 py、bat、ps1 和 sh。
Run Code Online (Sandbox Code Playgroud)outputs: - name: subpackage-name script: move-files.py
要指定单个文件名,请使用:
Run Code Online (Sandbox Code Playgroud)build: ignore_prefix_files: - file1
我没有尝试迈克尔萨拉汉的答案,但如果正确完成,它应该可以工作。
“您需要更改 build.sh/bld.bat 以在这些脚本结束之前从 $PREFIX 中删除文件。”
| 归档时间: |
|
| 查看次数: |
380 次 |
| 最近记录: |