0

I'm trying to upload pycaret package into anaconda, making it possible to install with conda install pycaret. This is issue 21 and I'm working on it.

So, I followed those steps at Building conda packages with conda skeleton and create the meta.yaml file (content at the end of question) by running conda skeleton pypi pycaret.

Afterwards, when I run conda-build pycaret, it is throwing me dependencies error. See image below.

enter image description here

enter image description here

Maybe because those packages are not yet in conda. I installed them with pip and they are already in my conda base enviromnent.

Also notice this "Unsatisfiable dependencies for platform win-64". Does it make sense? I'm using Windows 10 64 bits.


Here is meta.yaml content, generated by conda skeleton

{% set name = "pycaret" %}
{% set version = "2.0" %}

package:
  name: "{{ name|lower }}"
  version: "{{ version }}"

source:
  url: "https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz"
  sha256: 5db9060f9d8ba53dbfb558b41de822c5b4175223c05a3a2c3c41c71346510694

build:
  number: 0
  script: "{{ PYTHON }} -m pip install . -vv"

requirements:
  host:
    - catboost
    - cufflinks >=0.17.0
    - datefinder >=0.7.0
    - datetime >=4.3
    - gensim
    - imbalanced-learn
    - ipython
    - ipywidgets
    - joblib
    - kmodes >=0.10.1
    - lightgbm >=2.3.1
    - matplotlib
    - mlflow
    - mlxtend
    - nltk
    - numpy >=1.17
    - pandas
    - pandas-profiling >=2.3.0
    - pip
    - plotly >=4.4.1
    - pyldavis
    - pyod
    - python
    - scikit-learn >=0.23
    - seaborn
    - spacy
    - textblob
    - umap-learn
    - wordcloud
    - xgboost >=0.90
    - yellowbrick >=1.0.1
  run:
    - catboost
    - cufflinks >=0.17.0
    - datefinder >=0.7.0
    - datetime >=4.3
    - gensim
    - imbalanced-learn
    - ipython
    - ipywidgets
    - joblib
    - kmodes >=0.10.1
    - lightgbm >=2.3.1
    - matplotlib
    - mlflow
    - mlxtend
    - nltk
    - numpy >=1.17
    - pandas
    - pandas-profiling >=2.3.0
    - plotly >=4.4.1
    - pyldavis
    - pyod
    - python
    - scikit-learn >=0.23
    - seaborn
    - spacy
    - textblob
    - umap-learn
    - wordcloud
    - xgboost >=0.90
    - yellowbrick >=1.0.1

test:
  imports:
    - pycaret

about:
  home: "https://github.com/pycaret/pycaret"
  license: MIT
  license_family: MIT
  license_file: 
  summary: "PyCaret - An open source, low-code machine learning library in Python."
  doc_url: 
  dev_url: 

extra:
  recipe-maintainers:
    - your-github-id-here

Any suggestions? It's my first time uploading a package into conda.

Henrique Branco
  • 1,778
  • 1
  • 13
  • 40
  • Should I make a pull request to upload `meta.yaml` file to repository and try `conda-build pycaret` afterwards? – Henrique Branco Aug 13 '20 at 23:11
  • 1
    All of the packages that you use in a conda build have to be available as conda packages in one of the channels in your configuration. So you have to build those libs which are not available for Conda first – Quantum Dreamer Aug 13 '20 at 23:19
  • I used `grayskull` from `conda-forge` channel to rebuild the file and insert `pip` at host in `meta.yaml` new file. This reduced to just one dependencies that is not in `conda-forge`. Thanks for your tip! – Henrique Branco Aug 14 '20 at 12:33

0 Answers0