【问题标题】:How to create a custom conda package from python files?如何从 python 文件创建自定义 conda 包?
【发布时间】:2021-12-18 18:40:24
【问题描述】:

我正在尝试编写我的第一个仅包含 python 文件的 conda 包。我正在关注几个来源的文档,包括 herehere

我的问题

当我对我的包目录运行conda-build 时,我的bld.bat 触发了这个错误:

(base) C:\Windows\system32>conda-build ./package-name --no-anaconda-upload
...
(%PREFIX%) %SRC_DIR%>xcopy ".\lib\" "%PREFIX%\Lib\site-packages\package-name\" /e
Invalid path
0 File(s) copied

从所有%...% 看来,环境变量似乎没有正确设置。

我做错了什么?此外,如果有更好/更简单的方法来从脚本集合构建包,我会全力以赴。

更多信息

我的目录结构如下:

  package-name/
  ├── lib/
  │   ├── python-file1.py
  │   ├── python-file2.py
  │   └── ...
  ├── bld.bat
  ├── build.sh
  └── meta.yaml

我的meta.yaml 看起来像:

package:
  name: package-name
  version: 1.0

source:
  path: .

requirements:
  host:
    - python
  run:
    - python
    ...

我的任何bld.bat 看起来像这样:

xcopy ".\lib\" "%PREFIX%\Lib\site-packages\package-name\" /e
if errorlevel 1 exit 1

想法是所有源文件都在./lib目录中,并且应该将它们复制到安装环境的site-packages

n.b.我正在使用 conda 4.10.3 和 conda-build 3.21.4

【问题讨论】:

    标签: python windows conda conda-build


    【解决方案1】:

    原来是xcopy doesn't like trailing slashes in the source parameter。我也应该把/e 开关放在参数之前。

    所以我的bld.bat 应该是这样的:

    xcopy /e ".\lib" "%PREFIX%\Lib\site-packages\package-name\"
    if errorlevel 1 exit 1
    

    【讨论】:

      猜你喜欢
      • 2021-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-06
      • 2021-08-11
      相关资源
      最近更新 更多