Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setup on non-intel Mac #16

Closed
hannesbecher opened this issue Dec 13, 2023 · 2 comments
Closed

Setup on non-intel Mac #16

hannesbecher opened this issue Dec 13, 2023 · 2 comments

Comments

@hannesbecher
Copy link

Hi there,

Exciting-looking software! I am struggling to set up the dependencies on my M2 MacBook Air :( Looks like some of these dependencies may not exist as conda envs for my CPU architecture? I appreciate this is not your fault. But I expect there will be an increasing number of people using this kind of Mac in the future.

Running:

$ conda create -n shadie pandas numpy toyplot toytree altair msprime pyslim tskit loguru IPython -c conda-forge -c bioconda

Gives me:

Collecting package metadata (current_repodata.json): done
Solving environment: unsuccessful attempt using repodata from current_repodata.json, retrying with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: \
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
failed                                                                                                                                                                                  /

UnsatisfiableError: The following specifications were found to be incompatible with each other:

Output in format: Requested package -> Available versions

Package pyrsistent conflicts for:
tskit -> jsonschema -> pyrsistent[version='!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0|>=0.14.0|>=0.14.0,!=0.17.0,!=0.17.1,!=0.17.2']
altair -> jsonschema[version='>=3.0'] -> pyrsistent[version='!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0|>=0.14.0|>=0.14.0,!=0.17.0,!=0.17.1,!=0.17.2']

Package python-dateutil conflicts for:
altair -> pandas[version='>=0.25'] -> python-dateutil[version='>=2.7.3|>=2.8.1|>=2.8.2']
pandas -> python-dateutil[version='>=2.7.3|>=2.8.1|>=2.8.2']
toyplot -> arrow -> python-dateutil[version='>=2.7.0']

Package packaging conflicts for:
ipython -> black -> packaging[version='>=22.0']
altair -> packaging
pandas -> numexpr[version='>=2.8.0'] -> packaging

Package _python_rc conflicts for:
altair -> python[version='>=3.8'] -> _python_rc
ipython -> python[version='>=3.9'] -> _python_rc
toyplot -> python[version='>=3.6'] -> _python_rc
pyslim -> python[version='>=3.6'] -> _python_rc
toytree -> python -> _python_rc
loguru -> python[version='>=3.12.0rc3,<3.13.0a0'] -> _python_rc
pandas -> python[version='>=3.12.0rc3,<3.13.0a0'] -> _python_rc
numpy -> python[version='>=3.12.0rc3,<3.13.0a0'] -> _python_rc

Package pygments conflicts for:
ipython -> pygments[version='>=2.4.0']
loguru -> better_exceptions_fork[version='>=0.2.1.post6'] -> pygments[version='>=2.2.0']
altair -> ipython -> pygments[version='>=2.4.0']

Package libcxx conflicts for:
pandas -> libcxx[version='>=11.0.0|>=11.0.1|>=11.1.0|>=12.0.1|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=12.0.0']
numpy -> libcxx[version='>=11.1.0|>=12.0.1|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=12.0.0']
tskit -> numpy[version='>=1.22.4,<2.0a0'] -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=12.0.0|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=11.1.0|>=12.0.1']
pandas -> python[version='>=3.9,<3.10.0a0'] -> libcxx[version='>=11.0.0.rc1']
msprime -> numpy[version='>=1.22.4,<2.0a0'] -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=12.0.0|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=11.1.0|>=12.0.1']
altair -> numpy -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=11.1.0|>=12.0.1|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=12.0.0']
numpy -> python[version='>=3.9,<3.10.0a0'] -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1']
toytree -> numpy[version='>=1.10'] -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=11.1.0|>=12.0.1|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=12.0.0']
loguru -> python[version='>=3.8,<3.9.0a0'] -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=11.1.0|>=14.0.6|>=12.0.0']
toyplot -> numpy[version='>=1.8.0'] -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=11.1.0|>=12.0.1|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=12.0.0']
ipython -> python[version='>=3.9'] -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=14.0.6|>=12.0.0|>=11.1.0']
pyslim -> numpy -> libcxx[version='>=11.0.0.rc1|>=11.0.0|>=11.0.1|>=11.1.0|>=12.0.1|>=13.0.1|>=14.0.4|>=14.0.6|>=15.0.7|>=16.0.6|>=12.0.0']

Package tskit conflicts for:
msprime -> tskit[version='>=0.3.5|>=0.4']
pyslim -> msprime[version='>=0.7.0'] -> tskit[version='>=0.3.5|>=0.4']
tskit
pyslim -> tskit

Package python conflicts for:
tskit -> python[version='>=3.10,<3.11.0a0|>=3.10,<3.11.0a0|>=3.11,<3.12.0a0|>=3.11,<3.12.0a0|>=3.9,<3.10.0a0|>=3.12,<3.13.0a0|>=3.12,<3.13.0a0|>=3.8,<3.9.0a0|>=3.8,<3.9.0a0',build=*_cpython]
tskit -> jsonschema -> python[version='3.10.*|3.11.*|3.9.*|>=3.12.0rc3,<3.13.0a0|>=3.12.0rc3,<3.13.0a0|>=3.6|>=3.7|>=3.8|3.8.*',build=*_cpython]

Package setuptools conflicts for:
pandas -> numexpr[version='>=2.8.0'] -> setuptools
tskit -> jsonschema -> setuptools
ipython -> setuptools[version='>=18.5']
ipython -> pygments[version='>=2.4.0'] -> setuptools
altair -> jinja2 -> setuptools[version='<60.0.0|>=18.5']
pandas -> setuptools[version='<60.0.0']

Package numpy conflicts for:
numpy
toytree -> toyplot[version='>=0.17.0'] -> numpy[version='>=1.8.0']
msprime -> tskit[version='>=0.3.5'] -> numpy[version='>=1.21.3,<2.0a0']
toytree -> numpy[version='>=1.10']
pandas -> numpy[version='>=1.19.2,<2.0a0|>=1.19.4,<2.0a0|>=1.19.5,<2.0a0|>=1.20.3,<2.0a0|>=1.21.6,<2.0a0|>=1.22.4,<2.0a0|>=1.23.5,<2.0a0|>=1.26.2,<2.0a0|>=1.26.0,<2.0a0|>=1.23.4,<2.0a0|>=1.21.5,<2.0a0|>=1.21.4,<2.0a0|>=1.23,<2.0a0|>=1.21,<2.0a0|>=1.21.2,<2.0a0']
pyslim -> msprime[version='>=0.7.0'] -> numpy[version='>=1.19.5,<2.0a0|>=1.20.3,<2.0a0|>=1.22.4,<2.0a0|>=1.26.0,<2.0a0|>=1.23.5,<2.0a0|>=1.23.4,<2.0a0|>=1.21.6,<2.0a0|>=1.21.5,<2.0a0|>=1.21.4,<2.0a0|>=1.21.3,<2.0a0']
pandas -> bottleneck[version='>=1.3.4'] -> numpy[version='>=1.21.3,<2.0a0|>=1.22.3,<2.0a0']
pyslim -> numpy
altair -> numpy[version='>=0.18']
toyplot -> numpy[version='>=1.8.0']
altair -> pandas[version='>=0.25'] -> numpy[version='>=1.19.2,<2.0a0|>=1.19.4,<2.0a0|>=1.19.5,<2.0a0|>=1.20.3,<2.0a0|>=1.21.6,<2.0a0|>=1.22.4,<2.0a0|>=1.23.5,<2.0a0|>=1.26.2,<2.0a0|>=1.26.0,<2.0a0|>=1.23.4,<2.0a0|>=1.21.5,<2.0a0|>=1.21.4,<2.0a0|>=1.23,<2.0a0|>=1.21,<2.0a0|>=1.21.2,<2.0a0']
msprime -> numpy[version='>=1.19.5,<2.0a0|>=1.20.3,<2.0a0|>=1.22.4,<2.0a0|>=1.26.0,<2.0a0|>=1.23.5,<2.0a0|>=1.23.4,<2.0a0|>=1.21.6,<2.0a0|>=1.21.5,<2.0a0|>=1.21.4,<2.0a0']

Package jsonschema conflicts for:
altair -> jsonschema[version='<4.17|>=3.0,<4.17|>=3.0|>=3.0,!=4.18.1']
msprime -> tskit[version='>=0.4'] -> jsonschema
tskit -> jsonschema
pyslim -> tskit -> jsonschema

Package typing_extensions conflicts for:
toyplot -> arrow -> typing_extensions
ipython -> black -> typing_extensions[version='>=3.10,!=3.10.0.1|>=3.10|>=4.0.1|>=3.7.4|>=3.10.0.0']
altair -> importlib-metadata -> typing_extensions[version='4.0.1|4.1.1|4.2.0|4.2.0|4.3.0|4.4.0|4.5.0|4.6.0|4.6.1|4.6.2|4.6.3|4.7.0|4.7.1|4.8.0|4.9.0|>=3.6.4|4.7.1|4.7.1|4.7.1|4.7.1|4.7.1|4.6.3|4.6.3|4.6.3|4.6.3|4.5.0|4.5.0|4.5.0|4.5.0|4.4.0|4.4.0|4.4.0|4.4.0|4.3.0|4.3.0|4.3.0|4.1.1',build='py39hca03da5_0|py39hca03da5_0|py39hca03da5_0|py39hca03da5_0|py312hca03da5_0|pyha770c72_1|pyha770c72_0|pyha770c72_0|pyha770c72_0|pyha770c72_0|py38hca03da5_0|py310hca03da5_0|py311hca03da5_0|py38hca03da5_0|py311hca03da5_0|py310hca03da5_0|py38hca03da5_0|py310hca03da5_0|py39hca03da5_0|py311hca03da5_0|py311hca03da5_0|py38hca03da5_0|py310hca03da5_0|py38hca03da5_0|py310hca03da5_0|pyh06a4308_0']
ipython -> typing_extensions
tskit -> jsonschema -> typing_extensions

Package pandas conflicts for:
altair -> pandas[version='>=0.18|>=0.25']
pandas

Package six conflicts for:
altair -> six
toyplot -> six
toytree -> toyplot[version='>=0.17.0'] -> six
ipython -> prompt-toolkit[version='>3.0.1,<3.1.0'] -> six[version='>=1.9.0']
altair -> jsonschema[version='>=3.0'] -> six[version='>=1.11.0']
tskit -> jsonschema -> six[version='>=1.11.0']
pandas -> python-dateutil[version='>=2.8.1'] -> six[version='>=1.5']

Package ipython conflicts for:
ipython
altair -> ipython

Package toyplot conflicts for:
toyplot
toytree -> toyplot[version='>=0.17.0']

Package colorama conflicts for:
loguru -> colorama[version='>=0.3.4']
loguru -> ansimarkup[version='>=1.4.0'] -> colorama

Package attrs conflicts for:
ipython -> black -> attrs[version='>=17.4.0|>=18.1.0']
msprime -> demes[version='>=0.2'] -> attrs[version='>=20.3']
altair -> jsonschema[version='>=3.0'] -> attrs[version='>=17.4.0|>=22.2.0']
pyslim -> attrs
tskit -> jsonschema -> attrs[version='>=17.4.0|>=22.2.0']

Package msprime conflicts for:
pyslim -> msprime[version='>=0.7.0']
msprime

Package certifi conflicts for:
toytree -> requests -> certifi[version='>=2017.4.17']
ipython -> setuptools[version='>=18.5'] -> certifi[version='>=2016.9.26']
pandas -> setuptools[version='<60.0.0'] -> certifi[version='>=2016.9.26']The following specifications were found to be incompatible with your system:

  - feature:/osx-arm64::__osx==13.6.1=0
  - feature:/osx-arm64::__unix==0=0
  - feature:|@/osx-arm64::__osx==13.6.1=0
  - feature:|@/osx-arm64::__unix==0=0
  - altair -> ipython -> __unix
  - altair -> numpy -> __osx[version='>=10.9']
  - ipython -> __osx
  - ipython -> __unix
  - msprime -> numpy[version='>=1.22.4,<2.0a0'] -> __osx[version='>=10.9']
  - numpy -> __osx[version='>=10.9']
  - pandas -> __osx[version='>=10.9']
  - pyslim -> numpy -> __osx[version='>=10.9']
  - toyplot -> numpy[version='>=1.8.0'] -> __osx[version='>=10.9']
  - toytree -> numpy[version='>=1.10'] -> __osx[version='>=10.9']

Your installed version is: 13.6.1
@elissasoroj
Copy link
Owner

elissasoroj commented Dec 13, 2023 via email

@hannesbecher
Copy link
Author

Hi Elissa,

Thank you for your quick response! First of all, my python version should not matter as I am setting up shadie in a separate conda environment (conda create -n <envName>). So, anaconda should pick the right version of python.

That said, I have now updated my anaconda version and I am getting a clearer error message.

Could not solve for environment specs
The following package could not be installed
└─ pyslim is not installable because it requires
   └─ kastore, which does not exist (perhaps a missing channel).

So, kasatore may not be available via anaconda for M2? I've opened an issue here. I should add that this all works on my Linux machine which is why I think it may be an M2 issue.

Now, I managed to set up everything on my M2 (I think) by omitting pyslim at first and then setting it up via pip:

conda create -n shadie pandas numpy toyplot toytree altair msprime tskit loguru IPython  -c conda-forge
conda activate shadie
python -m pip install kastore
python -m pip install pyslim
# prepare for running in Jupyter:
conda install ipykernel

So this very much looks like a kastore/conda recipe issue and not one with shadie/your instructions. So, feel free to close this issue...

Unfortunately I now get errors running shadie on Jupyter. Going to open a separate issue about this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants