My current flow is to build package-a, then deploy package-a to Artifactory. Then I'm building package-b pointing at artifactory channels that contain the package-a conda package. However, I'm getting a lot (hundreds) of dependency conflicts when I build package-b
. Am I doing this flow correct?
Below are my meta.yaml's
package-a
{% set data = load_setup_py_data() %}
package:
name: "package-a"
version: {{ data.get('version') }}
build:
noarch: generic
script: python setup.py install --single-version-externally-managed --record=record.txt
source:
path: ..
requirements:
run:
- python 3.6
- aiohttp-swagger
- elasticsearch-dsl
- aiocache
- aiohttp
- aioredis
- arrow
build:
- python 3.6
package-b
{% set data = load_setup_py_data() %}
package:
name: "package-b"
version: {{ data.get('version') }}
build:
noarch: generic
script: python setup.py install --single-version-externally-managed --record=record.txt
source:
path: ..
requirements:
run:
- python 3.6
- albumentations
- package-a
- pillow
- rasterio
- shapely-geojson
- scikit-image
- scikit-learn
build:
- python 3.6
Note: That I'm installing package-a (from artifactory) into package-b.
Sample of error output
Package ca-certificates conflicts for:
python=3.6 -> openssl[version='>=1.1.1l,<1.1.2a'] -> ca-certificates
scikit-learn -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
keras -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
geojson -> python -> ca-certificates
shapely -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
noise -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
pillow -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
scikit-image -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
tqdm -> python[version='>=2.7'] -> ca-certificates
shapely-geojson -> python -> ca-certificates
rasterio -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
opencv[version='<=4.5.3'] -> python[version='>=2.7,<2.8.0a0'] -> ca-certificates
albumentations -> python -> ca-certificates
...
...
...