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

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

Closed
chnych opened this issue Jun 12, 2020 · 8 comments
Assignees
Labels

Comments

@chnych
Copy link

chnych commented Jun 12, 2020

Hi,
I'm trying to download the latest version of portcullis with conda
If I used

conda install -c bioconda portcullis

It download the version 1.1.2, which leads to "type object 'DataFrame' has no attribute 'from_csv' " problem

If I used

conda install -c bioconda portcullis=1.2.2

with Python3.8

It showed

Found conflicts! Looking for incompatible packages. failed

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

Specifications:

  • portcullis=1.2.2 -> python[version='>=3.6,<3.7.0a0|>=3.7,<3.8.0a0']

Your python: python=3.8

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. Note that conda will not change your python version to a different minor version unless you explicitly specify that.

However, if I used

conda install -c bioconda portcullis=1.2.2

with Python3.7

It showed

Found conflicts! Looking for incompatible packages. failed

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

Specifications:

  • portcullis=1.2.2 -> python[version='>=2.7,<2.8.0a0|>=3.8,<3.9.0a0|>=3.5,<3.6.0a0']

Your python: python=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. Note that conda will not change your python version to a different minor version unless you explicitly specify that.

It seems like it's impossible to install the latest version of portcullis with conda now.

@lucventurini
Copy link
Collaborator

Dear @chnych

Many thanks for the heads up. We will be looking at it ASAP.

Kind regards

@lukesarre
Copy link

Hi @lucventurini ,

If it is useful, I just wanted to add that intentionally installing a specified version of portcullis=1.1.2 into a fresh conda environment runs into the same "type object 'DataFrame' has no attribute 'from_csv' " problem.

I understand this is due to an update to zlib and boost (as you mentioned in #50)
As 1.2.2 is inaccessible right now, it would be helpful to be able to use the old 1.1.2 version. Would it be possible to use portcullis=1.1.2 if the versions of zlib and boost that were intended to be used with 1.1.2 were specified in the conda install? Would it be possible to find out what these versions are?

Kind regards,
Luke

@lucventurini
Copy link
Collaborator

Dear @lukesarre

Portcullis 1.2.2 is actually installable in Conda using Python 3.8 or later, I just tried:

echo -e "dependencies:\n  - python==3.8" > /tmp/port.yaml
conda env create -n test_portcullis -f /tmp/port.yaml
conda activate test_portcullis
python --version
conda install -c bioconda -y "portcullis>=1.2"

Kind regards,

@lukesarre
Copy link

Hi @lucventurini ,
Thanks for your reply - unfortunately I have tried the code above and have encountered the same error message described by @chnych above.

[btx832@frontend8 ~]$ echo -e "dependencies:\n  - python==3.8" > /tmp/port.yaml
[btx832@frontend8 ~]$ conda env create -n test_portcullis -f /tmp/port.yaml
Collecting package metadata (repodata.json): done
Solving environment: done


==> WARNING: A newer version of conda exists. <==
  current version: 4.8.2
  latest version: 4.9.2

Please update conda by running

    $ conda update -n base -c defaults conda


Preparing transaction: done
Verifying transaction: done
Executing transaction: done
#
# To activate this environment, use
#
#     $ conda activate test_portcullis
#
# To deactivate an active environment, use
#
#     $ conda deactivate

[btx832@frontend8 ~]$ conda activate test_portcullis
(test_portcullis) [btx832@frontend8 ~]$ python --version
Python 3.8.0
(test_portcullis) [btx832@frontend8 ~]$ conda install -c bioconda -y "portcullis>=1.2"
Collecting package metadata (current_repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
Solving environment: failed with repodata from current_repodata.json, will retry with next repodata source.
Collecting package metadata (repodata.json): done
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
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 the existing python installation in your environment:

Specifications:

  - portcullis[version='>=1.2'] -> python[version='>=2.7,<2.8.0a0|>=3.9,<3.10.0a0|>=3.5,<3.6.0a0']

Your python: python==3.8

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. Note that conda will not
change your python version to a different minor version unless you explicitly specify
that.

@lucventurini
Copy link
Collaborator

That is weird.

@lucventurini lucventurini reopened this Feb 3, 2021
@lucventurini
Copy link
Collaborator

Hi @lukesarre

I tried to replicate using conda instead of mamba, and I am still able to install ...

$ echo -e "dependencies:\n  - python>=3.8,<3.9" > /tmp/port.yaml
$ conda env create -n test_portcullis -f /tmp/port.yaml
$ conda activate test_portcullis
$ python --version
Python 3.8.6
$ conda install -c bioconda -y "portcullis>=1.2.2"
$ portcullis
Portcullis Help

Portcullis is a tool to identify genuine splice junctions using aligned RNAseq reads
[...]

May I suggest updating conda on your system? It warns that it is out of date (4.8.2 vs 4.9.2) and I suspect that it might be the source of your installation problem.

@lukesarre
Copy link

Hi @lucventurini ,
I didn't have the permissions to update conda, however I managed to get it working! I don't understand what the underlying issue was exactly, but the following seemed to work:

conda create -n portcullis-env -c bioconda -c conda-forge "portcullis>=1.2" python=3.8
conda activate portcullis-env
portcullis --version

All the best,
Luke

@lucventurini
Copy link
Collaborator

Hi @lukesarre

Thank you for providing us the method that functioned for you! I will close the issue now.

Kind regards

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

No branches or pull requests

3 participants