mamba-org / mamba Goto Github PK
View Code? Open in Web Editor NEWThe Fast Cross-Platform Package Manager
Home Page: https://mamba.readthedocs.io
License: BSD 3-Clause "New" or "Revised" License
The Fast Cross-Platform Package Manager
Home Page: https://mamba.readthedocs.io
License: BSD 3-Clause "New" or "Revised" License
For dev installations where you want only the dependencies of some package.
Annoyingly, not everything seems to use mutexes in conda at this point ..
libclang has two versions: default and hcc where hcc
adds a track feature that should be ranked lower than default in the default mode.
I have Python 3.7.6:
Python 3.7.6 (default, Jan 8 2020, 20:23:39) [MSC v.1916 64 bit (AMD64)] :: Anaconda, Inc. on win32
but when I want to install a package with mamba install package_name
, I get the following error:
13914 packages in https://repo.anaconda.com/pkgs/main/win-64
0 packages in https://repo.anaconda.com/pkgs/msys2/noarch
471 packages in https://repo.anaconda.com/pkgs/msys2/win-64
1150 packages in https://repo.anaconda.com/pkgs/main/noarch
4224 packages in https://repo.anaconda.com/pkgs/r/win-64
5023 packages in https://repo.anaconda.com/pkgs/r/noarch
Encountered problems while solving.
Problem: package mamba-0.1.0-py37h1ad3211_2 requires python >=3.7,<3.8.0a0, but
none of the providers can be installed
This happens not only with a single package.
Running --version fails:
+ conda --version
Traceback (most recent call last):
File "/root/.local/bin/conda", line 8, in <module>
from mamba.mamba import main
File "/srv/conda/lib/python3.7/site-packages/mamba/mamba.py", line 23, in <module>
from conda.base.constants import ChannelPriority
ImportError: cannot import name 'ChannelPriority' from 'conda.base.constants' (/srv/conda/lib/python3.7/site-packages/conda/base/constants.py)
Hello,
first, thank for this package, it's way faster than conda and has saved me a lot of time.
The problem that I've found is that, when you want to install a specific version of a package, let's say
mamba install goatools=0.9.9
, it fails to find it so isn't able to install it:
Encountered problems while solving.
Problem: nothing provides requested goatools 0.9.9.*
Notice that I'm not using globs in my search. I've found this with multiple packages and most of the time, maybe all of them, is when i want to install the latest version of a package. Of course the package is available in the conda repositories and when I try to do a mamba install package-name
, without specifying the version, sometimes it doesn't install the latest one, so I specify the version, that's the reason I've had this specific problem multiple times. I understand that a package cannot be installed because of the requirements, but in these cases, mamba
is saying that the package isn't available.
We need to decide how to call libsolv from Rust. As you mentionned @wolfv , the alternatives are,
So far as far as I understand uou went with 1?
That sounds good. Rather than vendoring that code maybe it could be worth forking that repo and adding it as a dependency in Cargo.toml
,
solv = { git = "https://github.com/<user>/libsolv-rs", branch = "<some-branch>" }
That would make the separation between the wrapper and this package more clear, while still alowing to make changes to the libsolv-rs fork.
Currently, mamba uninstall whatever
doesn't work. Need to find out what to pass to libsolv to do it!
@jorisvandenbossche observed the following:
Actually, up to now I only looked at what mamba proposed, but now trying to actually create the environment, I get an error for the example above:
...
Proceed ([y]/n)? y
Preparing transaction: done
Verifying transaction: done
Executing transaction: failed
ERROR conda.core.link:_execute(568): An error occurred while installing package 'conda-forge::attrs-19.1.0-py_0'.
FileNotFoundError(2, "No such file or directory: '/home/joris/miniconda3/envs/mamba-geo-test/bin/python3.7'")
Attempting to roll back.
Rolling back transaction: done
[Errno 2] No such file or directory: '/home/joris/miniconda3/envs/mamba-geo-test/bin/python3.7': '/home/joris/miniconda3/envs/mamba-geo-test/bin/python3.7'
And the rolling back also didn't fully succeed, as the envs/mamba-geo-test dir still has a conda-meta subdir with the file asn1crypto-0.24.0-py37_1003.json in it.
Doing the same with conda properly creates the environment.
conda create -n mamba mamba
conda install mamba
conda create -n py37 python=3.7
mamba install opbeat -n py37
Gives
EnvironmentLocationNotFound: Not a conda environment: /home/isuru/miniconda3/envs/mamba/envs/py37
Hi,
I decided to try out mamba, but I get the following when I try to create an env.
(base) $ mamba env create -n osegra -f environment.yml
Getting scilifelab-lts linux-64
Getting scilifelab-lts noarch
Getting conda-forge linux-64
Getting conda-forge noarch
Getting bioconda linux-64
Getting bioconda noarch
Getting pkgs/main linux-64
Getting pkgs/main noarch
Getting pkgs/r linux-64
Getting pkgs/r noarch
Looking for: ['lts-workflows', 'bamtools', 'bedtools', 'biopython', 'multiqc', 'picard', 'pyyaml', 'yamlloader', 'rsem', 'star', 'ucsc-gtftogenepred', 'perl', 'r-rmarkdown', 'r-yaml', 'r-gplots', 'r-optparse', 'r-vioplot', 'subread', 'bioconductor-org.hs.eg.db', 'bioconductor-sc3', 'bioconductor-scran', 'snakemake-minimal', 'bioconductor-scater', 'bioconductor-biomart', 'r-mvoutlier', 'r-rmarkdown', 'r-rtsne', 'jupyter', 'r-irkernel', 'r-formatr']
8317 packages in https://conda.anaconda.org/bioconda/noarch
27095 packages in https://conda.anaconda.org/bioconda/linux-64
16944 packages in https://conda.anaconda.org/conda-forge/noarch
74033 packages in https://conda.anaconda.org/conda-forge/linux-64
842 packages in https://repo.anaconda.com/pkgs/main/noarch
5893 packages in https://repo.anaconda.com/pkgs/r/linux-64
14232 packages in https://repo.anaconda.com/pkgs/main/linux-64
3536 packages in https://repo.anaconda.com/pkgs/r/noarch
0 packages in https://conda.anaconda.org/scilifelab-lts/noarch
26 packages in https://conda.anaconda.org/scilifelab-lts/linux-64
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "/home/khkk378/miniconda3/lib/python3.7/site-packages/conda/exceptions.py", line 1074, in __call__
return func(*args, **kwargs)
File "/home/khkk378/miniconda3/lib/python3.7/site-packages/conda_env/cli/main.py", line 78, in do_call
exit_code = getattr(module, func_name)(args, parser)
File "/home/khkk378/miniconda3/lib/python3.7/site-packages/conda_env/cli/main_create.py", line 102, in execute
result[installer_type] = installer.install(prefix, pkg_specs, args, env)
File "/home/khkk378/miniconda3/lib/python3.7/site-packages/mamba/mamba_env.py", line 108, in mamba_install
update_specs = specs
TypeError: __new__() missing 1 required positional argument: 'neutered_specs'
`$ /home/khkk378/miniconda3/bin/mamba create -n osegra -f environment.yml`
environment variables:
CIO_TEST=<not set>
CONDA_AUTO_UPDATE_CONDA=false
CONDA_DEFAULT_ENV=base
CONDA_EXE=/home/khkk378/miniconda3/bin/conda
CONDA_PREFIX=/home/khkk378/miniconda3
CONDA_PROMPT_MODIFIER=(base)
CONDA_PYTHON_EXE=/home/khkk378/miniconda3/bin/python
CONDA_ROOT=/home/khkk378/miniconda3
CONDA_SHLVL=1
FTP_PROXY=<set>
HTTPS_PROXY=<set>
HTTP_PROXY=<set>
MANPATH=/usr/share/lmod/lmod/share/man:
MODULEPATH=/opt/scp/modules/all:/usr/share/modulefiles/Linux:/usr/share/modulefil
es/Core:/usr/share/lmod/lmod/modulefiles/Core
NO_PROXY=<set>
PATH=/home/khkk378/miniconda3/bin:/home/khkk378/miniconda3/condabin:/usr/li
b64/qt-3.3/bin:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/opt/
ibutils/bin:/opt/dell/srvadmin/bin:/home/khkk378/miniconda3/bin:/home/
khkk378/.local/bin:/home/khkk378/bin
REQUESTS_CA_BUNDLE=<not set>
SSL_CERT_FILE=<not set>
ftp_proxy=<set>
http_proxy=<set>
https_proxy=<set>
no_proxy=<set>
active environment : base
active env location : /home/khkk378/miniconda3
shell level : 1
user config file : /home/khkk378/.condarc
populated config files : /home/khkk378/.condarc
conda version : 4.7.12
conda-build version : not installed
python version : 3.7.3.final.0
virtual packages :
base environment : /home/khkk378/miniconda3 (writable)
channel URLs : https://conda.anaconda.org/bioconda/linux-64
https://conda.anaconda.org/bioconda/noarch
https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/khkk378/miniconda3/pkgs
/home/khkk378/.conda/pkgs
envs directories : /home/khkk378/miniconda3/envs
/home/khkk378/.conda/envs
platform : linux-64
user-agent : conda/4.7.12 requests/2.22.0 CPython/3.7.3 Linux/3.10.0-957.27.2.el7.x86_64 centos/7.6.1810 glibc/2.17
UID:GID : 33392639:408929969
netrc file : /home/khkk378/.netrc
offline mode : False
An unexpected error has occurred. Conda has prepared the above report.
A common case where I run into issues where the mamba conflict resolution is super useful is when trying to diagnose issues with conda build
. However, for now I have to translate a conda recipe into a mamba create
or mamba install
command. It would be great if it would be possible to call mamba build
, which would then use mamba any time dependencies have to be installed (and deferring to conda for the rest). Feel free to close if this is not technically possible though!
conda install -yq
produces minimal output. mamba install -yq
appears to ignore the 'quiet' argument. It would be nice for mamba to be able to also do quiet installations.
Platform: macOS 10.13.6 High Sierra
Anaconda Python 3.7
Attempting to execute any update or install command, such as mamba update mamba -c conda-forge
throws an error right after the Looking for: ['package']
.
In bash
this is Illegal instruction: 4
In zsh
this is illegal hardware instruction
When using mamba to create an environment for root
on macOS it chooses an old root
build for Python 3. The latest build is chosen for Python 2 and conda
always behaves as I expect (eventually... 🐌).
mamba create --name test-env python=2.7 root --dry-run
Chooses: root conda-forge/osx-64::root-6.16.00-py27_blas_openblash6de8b3b_7
mamba create --name test-env python=3.7 root --dry-run
Chooses: root conda-forge/osx-64::root-6.16.00-py37_blas_openblash77af0b3_4
Let the solver know about what packages have historically explicitly been installed by a user.
It would be useful to add some CI to run tests.
If we go with Circle CI, we can adapt e.g. this .circleci/config.yml file after removing everything related to python (and rust nightly) from there.
I can make a PR once we agree on which CI service to use.
I don't have a reproducer where python version was upgraded, but here's an example
conda create -p /home/isuru/miniconda3/envs/py37 python=3.7
conda install opbeat -p /home/isuru/miniconda3/envs/py37 # this errors because opbeat need py<37
mamba install opbeat -p /home/isuru/miniconda3/envs/py37 # Downgrades python to 3.6
After merging PR #44 CMakeLists.txt
is not longer present and running cmake
throws an error:
CMake Error: The source directory "~/src/mamba/include" does not appear to contain CMakeLists.txt.
On win64 I installed mamba
into a new py37
environment but it looks like the mamba.exe
is looking for some random hard-coded python rather that the one in C:\Miniconda3\envs\mamba
:
λ mamba Fatal error in launcher: Unable to create process using '"c:\bld\mamba_1553594356374\_h_env\python.exe" "C:\Miniconda3\envs\mamba\Scripts\mamba.exe" '
Note: I don't have a C:\bld
folder on my computer
Currently conda supports __glibc, __osx, __cuda.
This project is awesome! Thank you for working on this! It is a BIG DEAL I think! ❤️ Anyhow, while trying it out I ended up with an error so here comes a report about that error.
It seems to me that mamba
cannot manage installing a package where dependencies are specified like here: mamba install blas=*=openblas
, this is possible with conda
though. When I ran mamba --version
I got output about conda 4.6.14
. Mamba was installed today.
$ mamba install blas=*=openblas
__ __ __ __
/ \ / \ / \ / \
/ \/ \/ \/ \
███████████████/ /██/ /██/ /██/ /████████████████████████
/ / \ / \ / \ / \ \____
/ / \_/ \_/ \_/ \ o \__,
/ _/ \_____/ `
|/
███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗
████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
██╔████╔██║███████║██╔████╔██║██████╔╝███████║
██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝
Supported by @QuantStack
GitHub: https://github.com/QuantStack/mamba
Twitter: https://twitter.com/QuantStack
█████████████████████████████████████████████████████████████
Getting https://conda.anaconda.org/conda-forge/linux-64
Getting https://conda.anaconda.org/conda-forge/noarch
Getting https://repo.anaconda.com/pkgs/main/linux-64
Getting https://repo.anaconda.com/pkgs/main/noarch
Getting https://repo.anaconda.com/pkgs/free/noarch
Getting https://repo.anaconda.com/pkgs/free/linux-64
Getting https://repo.anaconda.com/pkgs/r/linux-64
Getting https://repo.anaconda.com/pkgs/r/noarch
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "/opt/conda/lib/python3.6/site-packages/conda/exceptions.py", line 1003, in __call__
return func(*args, **kwargs)
File "/opt/conda/lib/python3.6/site-packages/mamba/mamba.py", line 353, in _wrapped_main
exit_code = do_call(args, p)
File "/opt/conda/lib/python3.6/site-packages/mamba/mamba.py", line 332, in do_call
exit_code = install(args, parser, 'install')
File "/opt/conda/lib/python3.6/site-packages/mamba/mamba.py", line 237, in install
mamba_solve_specs = [s.conda_build_form() for s in specs]
File "/opt/conda/lib/python3.6/site-packages/mamba/mamba.py", line 237, in <listcomp>
mamba_solve_specs = [s.conda_build_form() for s in specs]
File "/opt/conda/lib/python3.6/site-packages/conda/models/match_spec.py", line 360, in conda_build_form
assert version
AssertionError
`$ /opt/conda/bin/mamba install blas=*=openblas`
environment variables:
CIO_TEST=<not set>
CONDA_DIR=/opt/conda
CONDA_ROOT=/opt/conda
PATH=/home/jovyan/.local/bin:/opt/conda/bin:/usr/local/sbin:/usr/local/bin:
/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/rstudio-server/bin
REQUESTS_CA_BUNDLE=<not set>
SSL_CERT_FILE=<not set>
active environment : None
user config file : /home/jovyan/.condarc
populated config files : /opt/conda/.condarc
conda version : 4.6.14
conda-build version : not installed
python version : 3.6.7.final.0
base environment : /opt/conda (writable)
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/linux-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /opt/conda/pkgs
/home/jovyan/.conda/pkgs
envs directories : /opt/conda/envs
/home/jovyan/.conda/envs
platform : linux-64
user-agent : conda/4.6.14 requests/2.22.0 CPython/3.6.7 Linux/4.14.94+ ubuntu/18.04.2 glibc/2.27
UID:GID : 1000:100
netrc file : None
offline mode : False
An unexpected error has occurred. Conda has prepared the above report.
There has been the word out that you talked with Anaconda about how the mamba changes could be used in conda
itself instead of having mamba
on-top. What has been the outcome of this? Will we see still a future mamba
that patches some speedups on top or is all work going into conda
?
Trying to install Qiime 2.0 [https://qiime2.org] as from package instructions, but replacing "conda" with "mamba":
wget https://data.qiime2.org/distro/core/qiime2-2019.4-py36-linux-conda.yml
mamba env create -n qiime2-2019.4 --file qiime2-2019.4-py36-linux-conda.yml
will not work:
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/conda/exceptions.py", line 1003, in __call__
return func(*args, **kwargs)
File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/conda_env/cli/main.py", line 73, in do_call
exit_code = getattr(module, func_name)(args, parser)
File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/conda_env/cli/main_create.py", line 101, in execute
installer.install(prefix, pkg_specs, args, env)
File "/home/ubuntu/miniconda3/lib/python3.6/site-packages/mamba/mamba_env.py", line 59, in mamba_install
mamba_solve_specs, False, False)
TypeError: solve(): incompatible function arguments. The following argument types are supported:
1. (arg0: List[Tuple[str, str, int]], arg1: str, arg2: List[str], arg3: List[Tuple[int, int]], arg4: int, arg5: bool, arg6: bool) -> Tuple[List[Tuple[str, str, str]], List[Tuple[str, str]]]
Invoked with: [('https://conda.anaconda.org/bioconda/noarch', '/home/ubuntu/miniconda3/pkgs/cache/2a957770.json', 12), ('https://repo.anaconda.com/pkgs/r/linux-64', '/home/ubuntu/miniconda3/pkgs/cache/2ce54b42.json', 9), ('https://conda.anaconda.org/conda-forge/noarch', '/home/ubuntu/miniconda3/pkgs/cache/09cdf8bf.json', 13), ('https://conda.anaconda.org/bioconda/linux-64', '/home/ubuntu/miniconda3/pkgs/cache/ffeee55f.json', 12), ('https://conda.anaconda.org/conda-forge/linux-64', '/home/ubuntu/miniconda3/pkgs/cache/497deca9.json', 13), ('https://repo.anaconda.com/pkgs/main/noarch', '/home/ubuntu/miniconda3/pkgs/cache/3e39a7aa.json', 11), ('https://repo.anaconda.com/pkgs/r/noarch', '/home/ubuntu/miniconda3/pkgs/cache/ {{ ...CUT... }} ', 'xorg-xextproto 7.3.0.*', 'xorg-xproto 7.0.31.*', 'xz 5.2.4.*', 'yaml 0.1.7.*', 'zeromq 4.3.1.*', 'zlib 1.2.11.*'], False, False
`$ /home/ubuntu/miniconda3/bin/mamba create -n qiime2-2019.4 --file qiime2-2019.4-py36-linux-conda.yml`
environment variables:
CIO_TEST=<not set>
CONDA_AUTO_UPDATE_CONDA=false
CONDA_ROOT=/home/ubuntu/miniconda3
INFOPATH=/home/linuxbrew/.linuxbrew/share/info:
LD_LIBRARY_PATH=:/usr/local/lib/
MANPATH=/home/linuxbrew/.linuxbrew/share/man:
MODULEPATH=/etc/environment-modules/modules:/usr/share/modules/versions:/usr/Modu
les/$MODULE_VERSION/modulefiles:/usr/share/modules/modulefiles
PATH=/home/ubuntu/miniconda3/bin:/mnt/galaxy/tools/bin:/usr/lib/postgresql/
9.5/bin:/home/ubuntu/bin:/home/ubuntu/.local/bin:/home/ubuntu/minicond
a3/bin:/home/linuxbrew/.linuxbrew/bin:/home/linuxbrew/.linuxbrew/sbin:
/mnt/galaxy/tools/bin:/usr/lib/postgresql/9.5/bin:/usr/local/sbin:/usr
/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/
snap/bin:/usr/lib/jvm/java-8-oracle/bin:/usr/lib/jvm/java-8-oracle/db/
bin:/usr/lib/jvm/java-8-oracle/jre/bin
REQUESTS_CA_BUNDLE=<not set>
SSL_CERT_FILE=<not set>
active environment : None
user config file : /home/ubuntu/.condarc
populated config files : /home/ubuntu/.condarc
conda version : 4.6.14
conda-build version : not installed
python version : 3.6.7.final.0
base environment : /home/ubuntu/miniconda3 (writable)
channel URLs : https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/linux-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://conda.anaconda.org/bioconda/linux-64
https://conda.anaconda.org/bioconda/noarch
package cache : /home/ubuntu/miniconda3/pkgs
/home/ubuntu/.conda/pkgs
envs directories : /home/ubuntu/miniconda3/envs
/home/ubuntu/.conda/envs
platform : linux-64
user-agent : conda/4.6.14 requests/2.18.4 CPython/3.6.7 Linux/4.4.0-134-generic ubuntu/16.04.3 glibc/2.23
UID:GID : 1000:1000
netrc file : None
offline mode : False
An unexpected error has occurred. Conda has prepared the above report.
I assume this is expected, but just wanted to supply an example of this kind of issues.
Quick question:
is there a quick reference of which commands from conda are or aren't supported? Or a version who's API is the baseline? I'd guess that 4.7.x stuff might not be included yet?
Side note: has there been any discussion yet with the conda peeps about upstreaming this? Or do you first want to prove more exhaustively that it works? I really like the idea, I'm just a bit wary of further and further splintering of the build tool ecosystem.
It seems that we need to make sure that the pypy mutex exclusion works correctly.
Right now, installing numpy is possible in a pypy env while it's not possible with conda.
I did not manage to install a single package with mamba!
For instance If I say:
mamba install -c conda-forge dvc
I get:
Looking for: ['dvc']
Cannot use strict priority with mamba!
And ALL the packages I tried to install give the same error.
My OS is latest Linux Mint. I use the mamba version 0.1.0 from conda-forge
I also have flexible channel priorities so it is strange why it complains about strict priority
Gave mamba a test drive for installing an environment with the geospatial stack (with mamba-0.0.2 just installed). The following command works:
mamba create -n mamba-geo-test python geopandas cartopy ipython
but, it proposes to create an environment with python 3.6, while I expected it to use the latest python 3.7.
If I try to specify that explicitly:
mamba create -n mamba-geo-test python=3.7.* geopandas cartopy ipython
I get an error (for some reason, it tries to install geopandas-0.1.1.0-py27_0). Full output:
$ mamba create -n mamba-geo-test python=3.7.* geopandas cartopy ipython
__ __ __ __
/ \ / \ / \ / \
/ \/ \/ \/ \
███████████████/ /██/ /██/ /██/ /████████████████████████
/ / \ / \ / \ / \ \____
/ / \_/ \_/ \_/ \ o \__,
/ _/ \_____/ `
|/
███╗ ███╗ █████╗ ███╗ ███╗██████╗ █████╗
████╗ ████║██╔══██╗████╗ ████║██╔══██╗██╔══██╗
██╔████╔██║███████║██╔████╔██║██████╔╝███████║
██║╚██╔╝██║██╔══██║██║╚██╔╝██║██╔══██╗██╔══██║
██║ ╚═╝ ██║██║ ██║██║ ╚═╝ ██║██████╔╝██║ ██║
╚═╝ ╚═╝╚═╝ ╚═╝╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝
Supported by @QuantStack
Github: https://github.com/QuantStack/mamba
Twitter: https://twitter.com/QuantStack
█████████████████████████████████████████████████████████████
Getting https://conda.anaconda.org/conda-forge/linux-64
Getting https://conda.anaconda.org/conda-forge/noarch
Getting https://repo.anaconda.com/pkgs/main/linux-64
Getting https://repo.anaconda.com/pkgs/main/noarch
Getting https://repo.anaconda.com/pkgs/free/linux-64
Getting https://repo.anaconda.com/pkgs/free/noarch
Getting https://repo.anaconda.com/pkgs/r/linux-64
Getting https://repo.anaconda.com/pkgs/r/noarch
Looking for: ['python 3.7.*', 'geopandas', 'cartopy', 'ipython']
Parsing /home/joris/miniconda3/pkgs/cache/497deca9.json
60778 packages in https://conda.anaconda.org/conda-forge/linux-64
Parsing /home/joris/miniconda3/pkgs/cache/09cdf8bf.json
8956 packages in https://conda.anaconda.org/conda-forge/noarch
Parsing /home/joris/miniconda3/pkgs/cache/47929eba.json
12722 packages in https://repo.anaconda.com/pkgs/main/linux-64
Parsing /home/joris/miniconda3/pkgs/cache/3e39a7aa.json
468 packages in https://repo.anaconda.com/pkgs/main/noarch
Parsing /home/joris/miniconda3/pkgs/cache/98cb6fa3.json
13329 packages in https://repo.anaconda.com/pkgs/free/linux-64
Parsing /home/joris/miniconda3/pkgs/cache/d77296e0.json
29 packages in https://repo.anaconda.com/pkgs/free/noarch
Parsing /home/joris/miniconda3/pkgs/cache/2ce54b42.json
5057 packages in https://repo.anaconda.com/pkgs/r/linux-64
Parsing /home/joris/miniconda3/pkgs/cache/4ea078d6.json
1 packages in https://repo.anaconda.com/pkgs/r/noarch
Allowing downgrade: 1
Creating the solver...
Job: (python >= 3.7 with python < 3.8)
Job: geopandas
Job: cartopy
Job: ipython
Encountered 1 problems.
Problem: nothing provides (gdal >= 1.11.4.0 with gdal < 1.11.4.9999) needed by geopandas-0.1.1.0-py27_0.<NULL>
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "/home/joris/miniconda3/lib/python3.7/site-packages/conda/exceptions.py", line 1002, in __call__
return func(*args, **kwargs)
File "/home/joris/miniconda3/lib/python3.7/site-packages/mamba/mamba.py", line 250, in _wrapped_main
exit_code = do_call(args, p)
File "/home/joris/miniconda3/lib/python3.7/site-packages/mamba/mamba.py", line 231, in do_call
exit_code = create(args, parser)
File "/home/joris/miniconda3/lib/python3.7/site-packages/mamba/mamba.py", line 207, in create
install(args, parser, 'create')
File "/home/joris/miniconda3/lib/python3.7/site-packages/mamba/mamba.py", line 152, in install
to_link, to_unlink = api.solve(channel_json, installed_json_f.name, specs, strict_priority)
RuntimeError: Encountered problems while solving.
`$ /home/joris/miniconda3/bin/mamba create -n mamba-geo-test python=3.7.* geopandas cartopy ipython`
environment variables:
CIO_TEST=<not set>
CONDA_DEFAULT_ENV=base
CONDA_EXE=/home/joris/miniconda3/bin/conda
CONDA_PREFIX=/home/joris/miniconda3
CONDA_PROMPT_MODIFIER=(base)
CONDA_PYTHON_EXE=/home/joris/miniconda3/bin/python
CONDA_ROOT=/home/joris/miniconda3
CONDA_SHLVL=1
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
MANPATH=/opt/OpenPrinting-Gutenprint/man:/opt/OpenPrinting-
Gutenprint/man:/usr/local/man:/usr/local/share/man:/usr/share/man
PATH=/home/joris/miniconda3/bin:/home/joris/miniconda3/condabin:/opt/OpenPr
inting-Gutenprint/sbin:/opt/OpenPrinting-Gutenprint/bin:/usr/local/sbi
n:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/g
ames:/snap/bin
REQUESTS_CA_BUNDLE=<not set>
SSL_CERT_FILE=<not set>
XDG_SEAT_PATH=/org/freedesktop/DisplayManager/Seat0
XDG_SESSION_PATH=/org/freedesktop/DisplayManager/Session0
active environment : base
active env location : /home/joris/miniconda3
shell level : 1
user config file : /home/joris/.condarc
populated config files : /home/joris/miniconda3/.condarc
/home/joris/.condarc
conda version : 4.6.8
conda-build version : 3.17.8
python version : 3.7.1.final.0
base environment : /home/joris/miniconda3 (writable)
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/free/linux-64
https://repo.anaconda.com/pkgs/free/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /home/joris/miniconda3/pkgs
/home/joris/.conda/pkgs
envs directories : /home/joris/miniconda3/envs
/home/joris/.conda/envs
platform : linux-64
user-agent : conda/4.6.8 requests/2.21.0 CPython/3.7.1 Linux/4.4.0-143-generic ubuntu/16.04.6 glibc/2.23
UID:GID : 1000:1000
netrc file : None
offline mode : False
An unexpected error has occurred. Conda has prepared the above report.
If submitted, this report will be used by core maintainers to improve
future releases of conda.
Would you like conda to send this report to the core maintainers?
But in any case, it is much faster! (also in failing :))
For eg:
conda create -n pypyp123 python=3.6.9 # gives cpython
mamba create -n pypyp123 python=3.6.9 # gives pypy
When running a fresh minimamba, multiple threads might try to create minimamba/pkgs/cache
We need to add a lock I guess.
The conda.core.link.PrefixSetup
tuple has an additional neutered_specs
entry added in conda v4.7.12 here
Commit in conda with change is here: conda/conda@258322f
This breaks mamba
here and
here since missing the new required positional argument.
To be faster as fast!
I'm getting the below error:
λ conda create -n tmp732 python=3.7 numpy pandas --dry-run
<snip>
Getting https://repo.anaconda.com/pkgs/main/win-64
Getting https://repo.anaconda.com/pkgs/main/noarch
Getting https://repo.anaconda.com/pkgs/free/win-64
Getting https://repo.anaconda.com/pkgs/free/noarch
Getting https://repo.anaconda.com/pkgs/r/win-64
Getting https://repo.anaconda.com/pkgs/r/noarch
Getting https://repo.anaconda.com/pkgs/msys2/win-64
Getting https://repo.anaconda.com/pkgs/msys2/noarch
Getting https://conda.anaconda.org/conda-forge/win-64
Exception in thread Thread-3:
Traceback (most recent call last):
File "C:\Miniconda3\envs\mamba\lib\threading.py", line 917, in _bootstrap_inner
self.run()
File "C:\Miniconda3\envs\mamba\lib\threading.py", line 865, in run
self._target(*self._args, **self._kwargs)
File "C:\Miniconda3\envs\mamba\lib\multiprocessing\pool.py", line 470, in _handle_results
task = get()
File "C:\Miniconda3\envs\mamba\lib\multiprocessing\connection.py", line 251, in recv
return _ForkingPickler.loads(buf.getbuffer())
TypeError: __init__() missing 4 required positional arguments: 'url', 'status_code', 'reason', and 'elapsed_time'
...after which python then segfaults.
I'm on win64 with mamba installed in a py37 env.
conda installs pip with python if add_pip_as_python_dependency
is not set to False.
While running a conda-install on our cluster I come across an "inconsistent env" (I didn't knew it was a thing):
The environment is inconsistent, please check the package plan carefully
The following packages are causing the inconsistency:
- defaults/linux-64::mkl-service==1.1.2=py37h90e4bf4_5
- defaults/linux-64::bottleneck==1.2.1=py37h035aef0_1
- defaults/linux-64::h5py==2.8.0=py37h989c5e5_3
- defaults/linux-64::bkcharts==0.2=py37_0
- defaults/linux-64::pytables==3.4.4=py37ha205bf6_0
- defaults/linux-64::blaze==0.11.3=py37_0
- defaults/linux-64::anaconda==5.3.1=py37_0
... then conda normal "trying to solve" and maybe install stuff
I thought "Hey, how does mamba handle that ?", so I tried (installing anything does that):
# >>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
File "~/anaconda3/lib/python3.6/site-packages/conda/exceptions.py", line 1003, in __call__
return func(*args, **kwargs)
File "~/anaconda3/lib/python3.6/site-packages/mamba/mamba.py", line 353, in _wrapped_main
exit_code = do_call(args, p)
File "~anaconda3/lib/python3.6/site-packages/mamba/mamba.py", line 332, in do_call
exit_code = install(args, parser, 'install')
File "~/anaconda3/lib/python3.6/site-packages/mamba/mamba.py", line 246, in install
to_link, to_unlink = api.solve(channel_json, installed_json_f.name, mamba_solve_specs, isupdate, strict_priority)
RuntimeError: Encountered problems while solving.
And well it crashed...so just letting you now.
It's a really small corner case, so feel free to close if you do not really care.
I understand this is a new experimental work, but I was wondering if there are any plans to support the --strict-channel-priority
option.
mamba create -n test2 'python>=3.6,<3.7'
Getting https://conda.anaconda.org/conda-forge/linux-64
Getting https://conda.anaconda.org/conda-forge/noarch
Getting https://repo.anaconda.com/pkgs/main/linux-64
Getting https://repo.anaconda.com/pkgs/main/noarch
Getting https://repo.anaconda.com/pkgs/free/linux-64
Getting https://repo.anaconda.com/pkgs/free/noarch
Getting https://repo.anaconda.com/pkgs/r/linux-64
Getting https://repo.anaconda.com/pkgs/r/noarch
Looking for: ["python[version='>=3.6,<3.7']"]
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/497deca9.json
60674 packages in https://conda.anaconda.org/conda-forge/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/09cdf8bf.json
8923 packages in https://conda.anaconda.org/conda-forge/noarch
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/47929eba.json
12722 packages in https://repo.anaconda.com/pkgs/main/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/3e39a7aa.json
468 packages in https://repo.anaconda.com/pkgs/main/noarch
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/98cb6fa3.json
13329 packages in https://repo.anaconda.com/pkgs/free/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/d77296e0.json
29 packages in https://repo.anaconda.com/pkgs/free/noarch
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/2ce54b42.json
5057 packages in https://repo.anaconda.com/pkgs/r/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/4ea078d6.json
1 packages in https://repo.anaconda.com/pkgs/r/noarch
Allowing downgrade: 1
Creating the solver...
Job: (python[version >= ='>=3.6.0.0 with python[version < ='>=3.6.0.9999 with python[version < 3.7'])
Encountered 1 problems.
Problem: package (python[version >= ='>=3.6.0.0 with python[version < ='>=3.6.0.9999 with python[version < 3.7']) does not exist
Traceback (most recent call last):
File "/home/mvanniekerk/miniconda3/envs/mamba/bin/mamba", line 174, in <module>
sys.exit(main())
File "/home/mvanniekerk/miniconda3/envs/mamba/bin/mamba", line 133, in main
to_link, to_unlink = api.solve(channel_json, installed_json_f.name, specs_seperated, strict_priority)
RuntimeError: Encountered problems while solving.
mamba create -n m_test2 'python=3.6'
Getting https://conda.anaconda.org/conda-forge/linux-64
Getting https://conda.anaconda.org/conda-forge/noarch
Getting https://repo.anaconda.com/pkgs/main/linux-64
Getting https://repo.anaconda.com/pkgs/main/noarch
Getting https://repo.anaconda.com/pkgs/free/linux-64
Getting https://repo.anaconda.com/pkgs/free/noarch
Getting https://repo.anaconda.com/pkgs/r/linux-64
Getting https://repo.anaconda.com/pkgs/r/noarch
Looking for: ['python=3.6']
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/497deca9.json
60674 packages in https://conda.anaconda.org/conda-forge/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/09cdf8bf.json
8923 packages in https://conda.anaconda.org/conda-forge/noarch
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/47929eba.json
12722 packages in https://repo.anaconda.com/pkgs/main/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/3e39a7aa.json
468 packages in https://repo.anaconda.com/pkgs/main/noarch
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/98cb6fa3.json
13329 packages in https://repo.anaconda.com/pkgs/free/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/d77296e0.json
29 packages in https://repo.anaconda.com/pkgs/free/noarch
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/2ce54b42.json
5057 packages in https://repo.anaconda.com/pkgs/r/linux-64
Parsing /home/mvanniekerk/miniconda3/envs/mamba/pkgs/cache/4ea078d6.json
1 packages in https://repo.anaconda.com/pkgs/r/noarch
Allowing downgrade: 1
Creating the solver...
Job: (python >= =3.6.0.0 with python < =3.6.0.9999)
Encountered 0 problems.
10 installed packages:
- ca-certificates-2019.3.9.0-hecc5488_0.<NULL>
- libgcc-ng-8.2.0.1-hdf63c60_1.<NULL>
- ncurses-5.9.0.10-10.<NULL>
- openssl-1.0.2r.0-h14c3975_0.<NULL>
- python-3.6.0.2-2.<NULL>
- readline-6.2.0.2-2.<NULL>
- sqlite-3.13.0.1-1.<NULL>
- tk-8.5.19.2-2.<NULL>
- xz-5.2.4.1001-h14c3975_1001.<NULL>
- zlib-1.2.11.1004-h14c3975_1004.<NULL>
Solution:
## Package Plan ##
environment location: /home/mvanniekerk/miniconda3/envs/mamba/envs/m_test2
added / updated specs:
- python=3.6
The following NEW packages will be INSTALLED:
ca-certificates conda-forge/linux-64::ca-certificates-2019.3.9-hecc5488_0
libgcc-ng pkgs/main/linux-64::libgcc-ng-8.2.0-hdf63c60_1
ncurses conda-forge/linux-64::ncurses-5.9-10
openssl conda-forge/linux-64::openssl-1.0.2r-h14c3975_0
python conda-forge/linux-64::python-3.6.0-2
readline pkgs/free/linux-64::readline-6.2-2
sqlite conda-forge/linux-64::sqlite-3.13.0-1
tk conda-forge/linux-64::tk-8.5.19-2
xz conda-forge/linux-64::xz-5.2.4-h14c3975_1001
zlib conda-forge/linux-64::zlib-1.2.11-h14c3975_1004
Proceed ([y]/n)? y
Preparing transaction: done
Executing transaction: done
#
# To activate this environment, use
#
# $ conda activate m_test2
#
# To deactivate an active environment, use
#
# $ conda deactivate
Some people apparently don't smirk every time they see the awesome banner :)
So we'll get rid of it for something more grown-up-looking.
When attempting to update conda-smithy with mamba, it only considers conda-smithy itself for update and not all dependencies of conda-smithy, since the dependency specs are still valid.
## Package Plan ##
environment location: /home/isuru/miniconda3
added / updated specs:
- pyopencl=2019.1
The following packages will be downloaded:
package | build
---------------------------|-----------------
cython-0.29.12 | py37he1b5a44_0 2.2 MB conda-forge
more-itertools-7.1.0 | py_0 46 KB conda-forge
pyopencl-2019.1 | py37h9de70de_0 649 KB conda-forge
pyrsistent-0.15.3 | py37h516909a_0 89 KB conda-forge
pytest-5.0.1 | py37_0 347 KB conda-forge
ruamel.yaml-0.15.98 | py37h516909a_0 325 KB conda-forge
------------------------------------------------------------
Total: 3.6 MB
The following NEW packages will be INSTALLED:
pyopencl conda-forge/linux-64::pyopencl-2019.1-py37h9de70de_0
wheel conda-forge/linux-64::wheel-0.33.4-py37_0
The following packages will be UPDATED:
cython 0.29.11-py36he1b5a44_0 --> 0.29.12-py37he1b5a44_0
more-itertools conda-forge/linux-64::more-itertools-~ --> conda-forge/noarch::more-itertools-7.1.0-py_0
pillow 6.0.0-py36he7afcd5_0 --> 6.1.0-py37he7afcd5_0
pyrsistent 0.15.2-py36h516909a_0 --> 0.15.3-py37h516909a_0
pytest 5.0.0-py36_0 --> 5.0.1-py37_0
python 3.6.7-h381d211_1004 --> 3.7.3-h33d41f4_1
readline 7.0-hf8c457e_1001 --> 8.0-hf8c457e_0
ruamel.yaml 0.15.96-py36h516909a_0 --> 0.15.98-py37h516909a_0
The following packages will be DOWNGRADED:
conda-build 3.18.6-py36_0 --> 3.17.8-py37_1
Updated python from 3.6 to 3.7 without updating conda
First, I'd like to say that Mamba is an awesome initiative, I've tried mamba 0.0.7
, and it worked very well with mamba install
and mamba create
, sometimes making the solver 15x faster, with no other apparent differences from the results of conda
commands!
conda env update
is an important feature, we depend on it to update our environments from environment.yml
files, especially because of the --prune
flag, that guarantees that the env is an exact match of the spec defined in environment.yml
(removing extra packages). I've tried to use mamba env update
, but it seems to have no effect in the performance this case (looks like it's using conda
solver).
Support is incoming, PR to libsolv is open!
index cache only tells conda to use the cache even if it has expired. Therefore the current logic needs to be adjusted.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.