如何从 python 个文件创建自定义 conda 包?
How to create a custom conda package from python files?
我正在尝试编写我的第一个仅包含 python 个文件的 conda 包。我正在关注一些来源的文档,包括 here and here.
我的问题
当我 运行 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
从所有 %...%
来看,环境变量似乎没有正确设置。
我做错了什么?另外,如果有 better/simpler 从一组脚本构建包的方法,我会洗耳恭听。
更多信息
我的目录结构如下:
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
结果是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
我正在尝试编写我的第一个仅包含 python 个文件的 conda 包。我正在关注一些来源的文档,包括 here and here.
我的问题
当我 运行 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
从所有 %...%
来看,环境变量似乎没有正确设置。
我做错了什么?另外,如果有 better/simpler 从一组脚本构建包的方法,我会洗耳恭听。
更多信息
我的目录结构如下:
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
结果是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