mamba-org / mamba

The Fast Cross-Platform Package Manager
https://mamba.readthedocs.io
BSD 3-Clause "New" or "Revised" License
6.85k stars 353 forks source link

`micromamba list` does not show packages installed with pip #2059

Open b4rlw opened 1 year ago

b4rlw commented 1 year ago

Title says it all, couldn't find anything detailing whether this is a known limitation of micromamba at the present time, or if something is wrong with my environment. Cheers.

zacharyburnett commented 1 year ago

this seems to be related to #2008

b4rlw commented 1 year ago

Found my own issue again when installing a development package, ie. with pip install --no-build-isolation --no-deps -e ., which seems to be a subset of this problem as it is also not shown with micromamba list.

massich commented 1 year ago

Found my own issue again when installing a development package, ie. with pip install --no-build-isolation --no-deps -e ., which seems to be a subset of this problem as it is also not shown with micromamba list.

regular pip installation has exactly the same effect:

(prep) sik@dory:/tmp/tmp.OFUuqwduLJ$ micromamba env create -n foo -c conda-forge -q -y python pip
(prep) sik@dory:/tmp/tmp.OFUuqwduLJ$ micromamba activate foo
(foo) sik@dory:/tmp/tmp.OFUuqwduLJ$ pip install requests
Collecting requests
  Using cached requests-2.28.2-py3-none-any.whl (62 kB)
Collecting charset-normalizer<4,>=2
  Downloading charset_normalizer-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (197 kB)
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 197.3/197.3 kB 3.0 MB/s eta 0:00:00
Collecting idna<4,>=2.5
  Using cached idna-3.4-py3-none-any.whl (61 kB)
Collecting urllib3<1.27,>=1.21.1
  Using cached urllib3-1.26.14-py2.py3-none-any.whl (140 kB)
Collecting certifi>=2017.4.17
  Using cached certifi-2022.12.7-py3-none-any.whl (155 kB)
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2022.12.7 charset-normalizer-3.1.0 idna-3.4 requests-2.28.2 urllib3-1.26.14
(foo) sik@dory:/tmp/tmp.OFUuqwduLJ$ micromamba list
List of packages in environment: "/home/sik/opt/conda/envs/foo"

  Name              Version    Build               Channel    
────────────────────────────────────────────────────────────────
  _libgcc_mutex     0.1        conda_forge         conda-forge
  _openmp_mutex     4.5        2_gnu               conda-forge
  bzip2             1.0.8      h7f98852_4          conda-forge
  ca-certificates   2022.12.7  ha878542_0          conda-forge
  ld_impl_linux-64  2.40       h41732ed_0          conda-forge
  libffi            3.4.2      h7f98852_5          conda-forge
  libgcc-ng         12.2.0     h65d4601_19         conda-forge
  libgomp           12.2.0     h65d4601_19         conda-forge
  libnsl            2.0.0      h7f98852_0          conda-forge
  libsqlite         3.40.0     h753d276_0          conda-forge
  libuuid           2.32.1     h7f98852_1000       conda-forge
  libzlib           1.2.13     h166bdaf_4          conda-forge
  ncurses           6.3        h27087fc_1          conda-forge
  openssl           3.0.8      h0b41bf4_0          conda-forge
  pip               23.0.1     pyhd8ed1ab_0        conda-forge
  python            3.11.0     he550d4f_1_cpython  conda-forge
  readline          8.1.2      h0f457ee_0          conda-forge
  setuptools        67.5.1     pyhd8ed1ab_0        conda-forge
  tk                8.6.12     h27826a3_0          conda-forge
  tzdata            2022g      h191b570_0          conda-forge
  wheel             0.38.4     pyhd8ed1ab_0        conda-forge
  xz                5.2.6      h166bdaf_0          conda-forge
(foo) sik@dory:/tmp/tmp.OFUuqwduLJ$ pip list
Package            Version
------------------ ---------
certifi            2022.12.7
charset-normalizer 3.1.0
idna               3.4
pip                23.0.1
requests           2.28.2
setuptools         67.5.1
urllib3            1.26.14
wheel              0.38.4
(foo) sik@dory:/tmp/tmp.OFUuqwduLJ$ 
agilebean commented 11 months ago

is this issue related to https://github.com/mamba-org/mamba/issues/1899 https://github.com/mamba-org/mamba/issues/2059 ?

agilebean commented 11 months ago

Can this issue be assigned higher priority? For most people switching from conda, the fast execution time of micromamba is attractive. But not listing any pip packages is a severe drawback. Would be great to fix this soon as poetry is arising as a serious competition to micromamba.

MantiMantilla commented 11 months ago

@agilebean Likely not related to #1899. I just tested it on my machine and the paramiko package behaved properly.

micromamba create -p ./venv/ python=3.10 ipython -c conda-forge -y
...
micromamba activate ./venv
pip install paramiko
...
ipython
Python 3.10.13 | packaged by conda-forge | (main, Oct 26 2023, 18:07:37) [GCC 12.3.0]
Type 'copyright', 'credits' or 'license' for more information
IPython 8.17.2 -- An enhanced Interactive Python. Type '?' for help.

In [1]: import paramiko

In [2]:

No issue importing pip packages.

The second issue you list is... this very same issue. So definitely related!

If you really need this feature, it's already implemented in conda (you can run conda env export, having activated the environment from micromamba). I know it's not ideal, but realistically you would only ever need this command from conda. Everything else can be done from micromamba without conflicting. I recommend installing either miniconda or miniforge.

I seem to remember that micromamba was meant as a light-weight version of mamba for CI/CD, where typically you would only read from an environment.yml file, not write to one. Though any mention of this intention seems to have been replaced by the more ambitious "full replacement" of mamba and conda.

I too could really use some progress on this, but it's not exactly a show stopper. Using both micromamba and miniconda kind off defeats the purpose of them being light-weight, but you shouldn't need to go that far for any context where that actually matters.

jonashaag commented 11 months ago

Mamba is open-source software. Please feel free to contribute this feature.

agilebean commented 11 months ago

@MantiMantilla Thanks a lot for the detailed explanation, that really helps. Meanwhile I found a workaround that works: Replacing micromamba with mamba.

mamba both has no problems with pip packages with mamba list and mamba env export.

I thought micromamba would be better as it is independent but there are too many hoops, not to mention a cumbersome workaround for showing pip packages in Pycharm.

Again, thanks for the clarification. Gives me closure.

mikekuzak commented 11 months ago

@MantiMantilla Thanks a lot for the detailed explanation, that really helps. Meanwhile I found a workaround that works: Replacing micromamba with mamba.

mamba both has no problems with pip packages with mamba list and mamba env export.

I thought micromamba would be better as it is independent but there are too many hoops, not to mention a cumbersome workaround for showing pip packages in Pycharm.

Again, thanks for the clarification. Gives me closure.

mamba list --explicit does not work with pip either.

 dependencies:
  # Core
  - python-dateutil
  - python=3.8
  - requests
  - requests-kerberos=0.12.0
  # Base
  - numpy
  - pandas
  - pytz
  - pylint
  - nose
  - six
  - cachetools
  # ML
  - spacy
  - nltk
  - tensorflow
  - scikit-learn
  - openai=1.2.4
  - pip
  - pip:
    - llama-index==0.9.2

 mamba env create -n test-nlp -f ~/test-nlp.yaml

 (test-nlp) root@137245b7e3c0:~# mamba list | grep openai
openai                    1.2.4              pyhd8ed1ab_0    https://nexus.proxy.myorg.com/repository/conda-forge
(test-nlp) root@137245b7e3c0:~# mamba list | grep llama
llama-index               0.9.2                    pypi_0    pypi

(test-nlp) root@137245b7e3c0:~# mamba list --explicit --md | grep openai
https://nexus.proxy.myorg.com/repository/conda-forge/noarch/openai-1.2.4-pyhd8ed1ab_0.conda#b1e57c44b10c9878ad03a8450df4e360
(test-nlp) root@137245b7e3c0:~# mamba list --explicit --md | grep llama

Neither mamba nor micromamba works.

mikekuzak commented 5 months ago

Is there any solution, or proposal how to tackle this ?

GitHunter0 commented 4 months ago

For sure there should be an option to list all packages installed in the micromamba environment...

What is the official position of Mamba team about this issue?

Hind-M commented 4 months ago

Hello and thank you for your interest in mamba! We are definitely considering this as a new feature in the medium term. We don't have enough bandwidth to tackle this at the moment, since all efforts are focused on the mamba 2.0 roadmap. But of course, if anyone feels like contributing, we will be happy to assist.

GitHunter0 commented 4 months ago

I appreciate the feedback @Hind-M , mamba 2.0 seems a great step.