dereneaton / ipyrad

Interactive assembly and analysis of RAD-seq data sets
http://ipyrad.readthedocs.io
GNU General Public License v3.0
70 stars 39 forks source link

ipyrad install on python 3.8 is broken? #419

Closed isaacovercast closed 3 years ago

isaacovercast commented 3 years ago
conda install -c bioconda ipyrad
Collecting package metadata (current_repodata.json): done
Solving environment: failed with current_repodata.json, will retry with next repodata source.
Initial quick solve with frozen env failed.  Unfreezing env and trying again.
Solving environment: failed with current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed
Initial quick solve with frozen env failed.  Unfreezing env and trying again.
Solving environment: failed

UnsatisfiableError: The following specifications were found
to be incompatible with the existing python installation in your environment:

  - ipyrad -> python[version='2.7.*,3.5.*,3.6.*,3.7.*']

If python is on the left-most side of the chain, that's the version you've asked for.
When python appears to the right, that indicates that the thing on the left is somehow
not available for the python version you are constrained to.  Your current python version
is (python=3.8).  Note that conda will not change your python version to a different minor version
unless you explicitly specify that.

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

Package certifi conflicts for:
python=3.8 -> pip -> wheel -> setuptools -> certifi[version='>=2016.09,>=2016.9.26']
ipyrad -> notebook -> prometheus_client -> twisted -> service_identity[version='>=18.1.0'] -> attrs[version='>=16.0.0'] -> hypothesis -> enum34 -> python_abi=3.6[build=*_cp36m] -> python[version='2.7.*,3.5.*,3.6.*,3.7.*'] -> pip -> wheel -> setuptools -> certifi[version='>=2016.09,>=2016.9.26']
ipyrad -> notebook -> prometheus_client -> twisted -> service_identity[version='>=18.1.0'] -> attrs[version='>=16.0.0'] -> hypothesis -> enum34 -> python_abi=2.7[build=*_cp27mu] -> python[version='2.7.*,3.5.*,3.6.*,3.7.*'] -> pip -> wheel -> setuptools -> certifi[version='>=2016.09,>=2016.9.26']
Package setuptools conflicts for:  
ipyrad -> notebook -> prometheus_client -> twisted -> service_identity[version='>=18.1.0'] -> attrs[version='>=16.0.0'] -> hypothesis -> enum34 -> python_abi=3.6[build=*_cp36m] -> python[version='2.7.*,3.5.*,3.6.*,3.7.*'] -> pip -> wheel -> setuptools
ipyrad -> notebook -> prometheus_client -> twisted -> service_identity[version='>=18.1.0'] -> attrs[version='>=16.0.0'] -> hypothesis -> enum34 -> python_abi=2.7[build=*_cp27mu] -> python[version='2.7.*,3.5.*,3.6.*,3.7.*'] -> pip -> wheel -> setuptools
python=3.8 -> pip -> wheel -> setuptools
isaacovercast commented 3 years ago

It looks like a dependency issue. Our bioconda recipe declares noarch: python, but pysam doesn't yet support 3.8, it seems.. Nothing we can really do about it at this point.

isaacovercast commented 3 years ago

Well, this works now conda install -c conda-forge -c bioconda ipyrad, but that's still annoying.

eaton-lab commented 3 years ago

I agree its annoying. But I think we should move to this pattern, and always recommend listing conda-forge first. Switching back and forth between using conda-forge or not leads to re-installation of tons of basic dependencies all the time, like ca-certificates.

isaacovercast commented 3 years ago

I'm fine with this. The side-benefit is that this will pull down a nice and new version of numpy from conda-forge and avoid that sick bug I discovered this morning.

isaacovercast commented 3 years ago

I checked and all the docs do use the conda-forge pattern, so I happy to call this a solution.