我正在尝试构建一个由conda
Linux 中的离线环境管理的包。我正在与py4j
.
在我的在线构建服务器上:
- 我下载
py4j
食谱 - 并下载源分布 (
py4j-0.8.2.1.tar.gz
) - 将配方和源分发复制到离线 puppet 服务器
在我的离线人偶服务器上:
- 调整配方以指向我的源分发副本。
condabuildpy4j− conda install –use-local py4j
$ conda index linux-64
conda index linux-64
将py4j
配置写入repodata.json
. 我可以看到py4j
在repodata.json
. 还有一个
py4j-0.8.2.1-py27_0.json
创建在/opt/anaconda/conda-meta/
我们有一个自定义频道映射到/srv/www/yum/anaconda_pkgs/
$ cat .condarc
channels:
- http://10.1.20.10/yum/anaconda_pkgs/
我可以看到py4j
配置已添加到以下文件中:
./envs/_test/conda-meta/py4j-0.8.2.1-py27_0.json
./pkgs/cache/ef2e2e6cbda49e8aeeea0ae0164dfc71.json
./pkgs/py4j-0.8.2.1-py27_0/info/recipe.json
./pkgs/py4j-0.8.2.1-py27_0/info/index.json
./conda-bld/linux-64/repodata.json ./conda-bld/linux-64/.index.json
./conda-meta/py4j-0.8.2.1-py27_0.json
有人可以解释每个这些 json 文件应该做什么吗?
我还可以看到,其中有一个repodata.json
and已更新.index.json
,
/srv/www/yum/anaconda_pkgs/linux-64
但没有py4j
.
我手动将我的复制py4j-0.8.2.1.tar.gz
到我的自定义仓库(频道)中/srv/www/yum/anaconda_pkgs/linux-64
?
我仍然无法conda install –use-local py4j
从主机或
puppet agent -t
. 我得到以下信息:
err: /Stage[main]/Anaconda::Packages/Anaconda::Install_pkg[py4j]/Package[py4j]/ensure: change from absent to present failed: Execution of ‘/opt/anaconda/bin/conda install –yes –quiet py4j’ returned 1: Fetching package metadata: ..
Error: No packages found in current linux-64 channels matching: py4j
你可以在 Binstar 上搜索这个包
binstar search -t conda py4j