conda-forge / dash-feedstock

A conda-smithy repository for dash.
BSD 3-Clause "New" or "Revised" License
3 stars 8 forks source link

dash[testing] to install additional dependencies it requires #100

Open adrianclay opened 2 years ago

adrianclay commented 2 years ago

Issue

I'd like to be able to install dash[testing] package, and have all the dependencies required for testing to be installed too.

I've gotten around this limitation by copying the dependencies defined above into my environment.yml.


Environment (conda list):

``` $ conda list # Name Version Build Channel astroid 2.9.0 py39hcbf5309_0 conda-forge atomicwrites 1.4.0 pyh9f0ad1d_0 conda-forge attrs 21.2.0 pyhd8ed1ab_0 conda-forge backcall 0.2.0 pyh9f0ad1d_0 conda-forge backports 1.0 py_2 conda-forge backports.functools_lru_cache 1.6.4 pyhd8ed1ab_0 conda-forge beautifulsoup4 4.10.0 pyha770c72_0 conda-forge black 21.11b1 pyhd8ed1ab_0 conda-forge black-jupyter 21.11b1 hd8ed1ab_0 conda-forge brotli-python 1.0.9 py39h415ef7b_6 conda-forge brotlipy 0.7.0 py39hb82d6ee_1003 conda-forge ca-certificates 2021.10.8 h5b45459_0 conda-forge certifi 2021.10.8 py39hcbf5309_1 conda-forge cffi 1.15.0 py39h0878f49_0 conda-forge charset-normalizer 2.0.8 pyhd8ed1ab_0 conda-forge click 8.0.3 py39hcbf5309_1 conda-forge colorama 0.4.4 pyh9f0ad1d_0 conda-forge configparser 5.1.0 pyhd8ed1ab_0 conda-forge crayons 0.4.0 pyh9f0ad1d_0 conda-forge cryptography 36.0.0 py39h7bc7c5c_0 conda-forge dash 2.0.0 pyhd8ed1ab_0 conda-forge dataclasses 0.8 pyhc8e2a94_3 conda-forge decorator 5.1.0 pyhd8ed1ab_0 conda-forge flask 2.0.2 pyhd8ed1ab_0 conda-forge flask-compress 1.10.1 pyhd8ed1ab_0 conda-forge idna 3.1 pyhd3deb0d_0 conda-forge iniconfig 1.1.1 pyh9f0ad1d_0 conda-forge intel-openmp 2021.4.0 h57928b3_3556 conda-forge ipython 7.30.0 py39hcbf5309_0 conda-forge isort 5.10.1 pyhd8ed1ab_0 conda-forge itsdangerous 2.0.1 pyhd8ed1ab_0 conda-forge jedi 0.18.1 py39hcbf5309_0 conda-forge jinja2 3.0.3 pyhd8ed1ab_0 conda-forge lazy-object-proxy 1.6.0 py39hb82d6ee_1 conda-forge libblas 3.9.0 12_win64_mkl conda-forge libcblas 3.9.0 12_win64_mkl conda-forge libiconv 1.16 he774522_0 conda-forge liblapack 3.9.0 12_win64_mkl conda-forge libxml2 2.9.12 hf5bbc77_1 conda-forge libxslt 1.1.33 h65864e5_3 conda-forge libzlib 1.2.11 h8ffe710_1013 conda-forge lxml 4.6.4 py39h4fd7cdf_0 conda-forge markupsafe 2.0.1 py39hb82d6ee_1 conda-forge matplotlib-inline 0.1.3 pyhd8ed1ab_0 conda-forge mccabe 0.6.1 py_1 conda-forge mkl 2021.4.0 h0e2418a_729 conda-forge more-itertools 8.12.0 pyhd8ed1ab_0 conda-forge mypy_extensions 0.4.3 py39hcbf5309_4 conda-forge numpy 1.21.4 py39h6635163_0 conda-forge openssl 1.1.1l h8ffe710_0 conda-forge packaging 21.3 pyhd8ed1ab_0 conda-forge pandas 1.3.4 py39h2e25243_1 conda-forge parso 0.8.2 pyhd8ed1ab_0 conda-forge pathspec 0.9.0 pyhd8ed1ab_0 conda-forge percy 2.0.2 pyhd8ed1ab_0 conda-forge pickleshare 0.7.5 py_1003 conda-forge pip 21.3.1 pyhd8ed1ab_0 conda-forge platformdirs 2.3.0 pyhd8ed1ab_0 conda-forge plotly 5.4.0 pyhd8ed1ab_0 conda-forge pluggy 1.0.0 py39hcbf5309_2 conda-forge prompt-toolkit 3.0.22 pyha770c72_0 conda-forge py 1.11.0 pyh6c4a22f_0 conda-forge pycparser 2.21 pyhd8ed1ab_0 conda-forge pygments 2.10.0 pyhd8ed1ab_0 conda-forge pylint 2.12.1 pyhd8ed1ab_0 conda-forge pyopenssl 21.0.0 pyhd8ed1ab_0 conda-forge pyparsing 3.0.6 pyhd8ed1ab_0 conda-forge pysocks 1.7.1 py39hcbf5309_4 conda-forge pytest 6.2.5 py39hcbf5309_1 conda-forge python 3.9.7 h7840368_3_cpython conda-forge python-chromedriver-binary 96.0.4664.45.0 py39hcbf5309_0 conda-forge python-dateutil 2.8.2 pyhd8ed1ab_0 conda-forge python_abi 3.9 2_cp39 conda-forge pytz 2021.3 pyhd8ed1ab_0 conda-forge regex 2021.11.10 py39hb82d6ee_0 conda-forge requests 2.26.0 pyhd8ed1ab_1 conda-forge selenium 3.141.0 py39hb82d6ee_1003 conda-forge setuptools 59.4.0 py39hcbf5309_0 conda-forge six 1.16.0 pyh6c4a22f_0 conda-forge soupsieve 2.3 pyhd8ed1ab_0 conda-forge sqlite 3.37.0 h8ffe710_0 conda-forge tbb 2021.4.0 h2d74725_1 conda-forge tenacity 8.0.1 pyhd8ed1ab_0 conda-forge tokenize-rt 4.2.1 pyhd8ed1ab_0 conda-forge toml 0.10.2 pyhd8ed1ab_0 conda-forge tomli 1.2.2 pyhd8ed1ab_0 conda-forge traitlets 5.1.1 pyhd8ed1ab_0 conda-forge typed-ast 1.5.0 py39hb82d6ee_0 conda-forge typing-extensions 4.0.0 hd8ed1ab_0 conda-forge typing_extensions 4.0.0 pyha770c72_0 conda-forge tzdata 2021e he74cb21_0 conda-forge ucrt 10.0.20348.0 h57928b3_0 conda-forge urllib3 1.26.7 pyhd8ed1ab_0 conda-forge vc 14.2 hb210afc_5 conda-forge vs2015_runtime 14.29.30037 h902a5da_5 conda-forge waitress 2.0.0 pyhd8ed1ab_0 conda-forge wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge webdriver-manager 3.5.2 pyhd8ed1ab_0 conda-forge werkzeug 2.0.1 pyhd8ed1ab_0 conda-forge wheel 0.37.0 pyhd8ed1ab_1 conda-forge win_inet_pton 1.1.0 py39hcbf5309_3 conda-forge wrapt 1.13.3 py39hb82d6ee_1 conda-forge xz 5.2.5 h62dcd97_1 conda-forge zlib 1.2.11 h8ffe710_1013 conda-forge ```


Details about conda and system ( conda info ):

``` $ conda info active environment : data_dashboards active env location : D:\Users\adrian.clay\.conda\envs\data_dashboards shell level : 1 user config file : D:\Users\adrian.clay\.condarc populated config files : D:\Users\adrian.clay\.condarc conda version : 4.10.3 conda-build version : 3.17.6 python version : 3.7.1.final.0 virtual packages : __win=0=0 __archspec=1=x86_64 base environment : D:\Python37 (read only) conda av data dir : D:\Python37\etc\conda conda av metadata url : None channel URLs : https://repo.anaconda.com/pkgs/main/win-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/r/win-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/msys2/win-64 https://repo.anaconda.com/pkgs/msys2/noarch package cache : D:\Python37\pkgs D:\Users\adrian.clay\.conda\pkgs D:\Users\adrian.clay\AppData\Local\conda\conda\pkgs envs directories : D:\Users\adrian.clay\.conda\envs D:\Python37\envs D:\Users\adrian.clay\AppData\Local\conda\conda\envs platform : win-64 user-agent : conda/4.10.3 requests/2.21.0 CPython/3.7.1 Windows/10 Windows/10.0.14393 administrator : False netrc file : None offline mode : False ```
moorepants commented 2 years ago

Simplest way is to make a new feedstock. conda doesn't support the pip square bracket optional dependencies, as far as I know. There is the "outputs" section of a recipe that can be used to create more binaries and is sometimes used for optional dependencies.

moorepants commented 1 year ago

I've gotten around this limitation by copying the dependencies defined above into my environment.yml.

I think this is the appropriate solution if you don't make a new conda package or make a new sub package here using "outputs".