IntelPython / sdc

Numba extension for compiling Pandas data frames, Intel® Scalable Dataframe Compiler
https://intelpython.github.io/sdc-doc/
BSD 2-Clause "Simplified" License
645 stars 61 forks source link

Cannot solve environment on readme #947

Closed luk-f-a closed 3 years ago

luk-f-a commented 3 years ago

hi, I wanted to test out sdc because I think it's a great project and I'm very interested. I tried following the readme but I could not create the conda environments as described. When trying the sdc step conda install sdc -c intel/label/beta -c intel -c defaults -c conda-forge --override-channels conda could not solve the enviroment. I managed to install sdc using mamba (which has a better solver) but that implied downgrading to pandas 0.25.3, is this a problem?

Once I knew pandas 0.25.3 would satisfy the constraints I was able to create an environment with the following commands

conda create -n sdc-env python=3.7
conda activate sdc-env
conda install pyarrow=0.17.0 pandas=0.25.3 -c conda-forge
conda install sdc -c intel/label/beta -c intel -c defaults -c conda-forge --override-channels

This is an example of the errors I got with the original instructions:

Package wheel conflicts for:
pip -> wheel
python=3.7 -> pip -> wheel

Package liblapack conflicts for:
arrow-cpp -> numpy[version='>=1.11,<2.0a0'] -> liblapack[version='>=3.8.0,<4.0.0a0|>=3.8.0,<4.0a0']
sdc -> numpy -> liblapack[version='>=3.8.0,<4.0.0a0|>=3.8.0,<4.0a0']
numpy -> liblapack[version='>=3.8.0,<4.0.0a0|>=3.8.0,<4.0a0']
pyarrow=0.17.0 -> numpy[version='>=1.16,<2.0a0'] -> liblapack[version='>=3.8.0,<4.0.0a0|>=3.8.0,<4.0a0']
numpy -> blas=[build=mkl] -> liblapack==3.8.0[build='4_mkl|9_mkl|10_mkl|13_mkl|14_mkl|20_mkl|19_mkl|18_mkl|16_mkl|15_mkl|12_mkl|11_mkl|8_mkl|7_mkl|6_mkl|5_mkl']

Package wincertstore conflicts for:
sdc -> setuptools -> wincertstore[version='>=0.2']
wheel -> setuptools -> wincertstore[version='>=0.2']
setuptools -> wincertstore[version='>=0.2']
pip -> setuptools -> wincertstore[version='>=0.2']

Package lz4 conflicts for:
zstd -> lz4
arrow-cpp -> zstd[version='>=1.3.7,<1.3.8.0a0'] -> lz4

Package tbb4py conflicts for:
numpy -> tbb4py
sdc -> tbb4py
arrow-cpp -> numpy[version='>=1.11,<2.0a0'] -> tbb4py

Package c-ares conflicts for:
pyarrow=0.17.0 -> arrow-cpp[version='>=0.17.0,<0.17.1.0a0'] -> c-ares
arrow-cpp -> c-ares[version='>=1.16.1,<2.0a0']
parquet-cpp -> arrow-cpp[version='>=0.13.0'] -> c-ares[version='>=1.16.1,<2.0a0']
grpc-cpp -> c-ares[version='>=1.16.1,<2.0a0']

Package krb5 conflicts for:
aws-sdk-cpp -> libcurl[version='>=7.71.1,<8.0a0'] -> krb5[version='>=1.16.1,<1.17.0a0|>=1.17.1,<1.18.0a0|>=1.18.2,<1.19.0a0|>=1.16.4,<1.17.0a0|>=1.16.3,<1.17.0a0']
curl -> krb5[version='1.14.*|>=1.14.6,<1.15.0a0|>=1.16.1,<1.17.0a0|>=1.17.1,<1.18.0a0|>=1.18.2,<1.19.0a0|>=1.16.4,<1.17.0a0|>=1.16.3,<1.17.0a0|>=1.16.2,<1.17.0a0']
libcurl -> krb5[version='>=1.16.1,<1.17.0a0|>=1.17.1,<1.18.0a0|>=1.18.2,<1.19.0a0|>=1.16.4,<1.17.0a0|>=1.16.3,<1.17.0a0|>=1.16.2,<1.17.0a0']

Package aws-c-event-stream conflicts for:
aws-sdk-cpp -> aws-c-event-stream[version='>=0.1.6,<0.1.7.0a0']
arrow-cpp -> aws-sdk-cpp[version='>=1.8.70,<1.8.71.0a0'] -> aws-c-event-stream[version='>=0.1.6,<0.1.7.0a0']

Package pytz conflicts for:
pyarrow=0.17.0 -> pandas -> pytz[version='>=2017.2']
sdc -> pandas==0.25.3 -> pytz[version='>=2017.2']

Package pyparsing conflicts for:
pip -> packaging -> pyparsing[version='>=2.0.2']
wheel -> packaging[version='>=20.2'] -> pyparsing[version='>=2.0.2']

Package curl conflicts for:
arrow-cpp -> aws-sdk-cpp[version='>=1.7.164,<1.7.165.0a0'] -> curl[version='>=7.64.1,<8.0a0|>=7.71.1,<8.0a0']
aws-sdk-cpp -> curl[version='>=7.64.1,<8.0a0|>=7.71.1,<8.0a0']

Package thrift-compiler conflicts for:
thrift-cpp -> thrift-compiler==0.13.0=h669e017_6
arrow-cpp -> thrift-cpp[version='>=0.13.0,<0.14.0a0'] -> thrift-compiler==0.13.0=h669e017_6

Package uriparser conflicts for:
parquet-cpp -> arrow-cpp[version='>=0.13.0'] -> uriparser
arrow-cpp -> uriparser
kozlov-alexey commented 3 years ago

@luk-f-a Hi, thanks for the report! There was a problem with uploading recent sdc packages to intel/label/beta channel, which should now be resolved. That's what was causing it since old sdc=0.34 was based on pandas=0.25.3 and environment was created with pandas=1.0.5. You can probably retry and everything should work now.

luk-f-a commented 3 years ago

I can confirm it's now working well