Python 3.10 is very new and so not all libraries work with it yet. This isnโ€™t a package manager difficulty, itโ€™s a compatibility conflict between libraries and Python versions. This is why Conda is installing 3.9. Wait a bit and more libraries will support 3.10. I just use pip to install to venvs. Edit: Scikit-learn specifically is not 3.10 yet. Answer from KlutzJump on reddit.com
๐ŸŒ
DEV Community
dev.to โ€บ adamghill โ€บ python-package-manager-comparison-1g98
Python Package Manager Comparison ๐Ÿ“ฆ - DEV Community
November 15, 2023 - Also in 2020, PEP 621 and PEP 631 standardized pyproject.toml as the new normal for Python packages instead of setup.py. PEP 517 and PEP 660 created standards for Python build systems. Based on those PEPs, Poetry isn't the only forward-thinking package manager anymore.
๐ŸŒ
KDnuggets
kdnuggets.com โ€บ top-7-python-package-managers
Top 7 Python Package Managers - KDnuggets
October 27, 2025 - In this article, we will explore seven of the most popular and modern package managers for Python, complete with installation commands for Linux systems. uv is a next-generation Python package and environment manager designed for speed.
Discussions

Which package manager do you use?
Python 3.10 is very new and so not all libraries work with it yet. This isnโ€™t a package manager difficulty, itโ€™s a compatibility conflict between libraries and Python versions. This is why Conda is installing 3.9. Wait a bit and more libraries will support 3.10. I just use pip to install to venvs. Edit: Scikit-learn specifically is not 3.10 yet. More on reddit.com
๐ŸŒ r/Python
10
3
November 24, 2021
2024 Python package manager overview - Packaging - Discussions on Python.org
A colleague of mine (does not seem to have a handle here) pointed out the following article, which I think is a pretty nice โ€“ even if opinionated โ€“ high-level overview over the current state of affairs in python packaging land (at least from the POV of user-facing tools): The one nitpick ... More on discuss.python.org
๐ŸŒ discuss.python.org
5
July 9, 2024
How do I get a list of locally installed Python modules? - Stack Overflow
A short answer: try it yourself in a production and draw conclusions yourself. Long answer: the Adam's approach is based on the pip - package management system used to install and manage software packages written in Python and a result pip.get_installed_distributions() returns modules installed ... More on stackoverflow.com
๐ŸŒ stackoverflow.com
installation - How to list all installed packages and their versions in Python? - Stack Overflow
For Windows 10, I think this is what you are looking for a list of available installed Pythons. This is different from a list of packages as you can see below. Also, on Ubuntu 20.04, I think the command is Python3 -0 list. Yes, this works similar to node version manager. More on stackoverflow.com
๐ŸŒ stackoverflow.com
๐ŸŒ
Reddit
reddit.com โ€บ r/python โ€บ which package manager do you use?
r/Python on Reddit: Which package manager do you use?
November 24, 2021 -

there are 3 popular package managers for python modules being used the most frequently: conda pip apt(for debian-based linux).

I initially installed anaconda which gave me conda but together with a lot of extra package bloat I may never use.

So naturally I tried miniconda. It turns out there are caveats to this too:

conda-forge is touted as a robust channel but when i tried installing all my most used packages from the conda-forge channel here is what I got:

  • python 3.10 as of writing

  • pandas 1.3.4 (latest)

  • scikit-learn (latest)

  • jupyterlab (no problem)

  • matplotlib (CANNOT INSTALL. dependency conflict with python version on conda-forge)

  • requests (CANNOT INSTALL. dependency conflict with python version on conda-forge)

I tried conda package manager with the defaults channel:

  • all the packages install but python from defaults channel is 3.9.7. Everything works with this but no python==3.10.

When I made a separate virtual environment and tried installing via pip package manager only:

  • everything worked. python --version is 3.10. every package installed to the latest version EXCEPT scikit-learnwhich is not installing for some reason.

And then there's apt which manages all other non-python packages on my linux and has a few python packages on ubuntu's repositories. But apt does not install packages in virtual environment and may not contain as many packages as pip or conda.

it appears conda with defaults channel is the most robust of all. I don't want to use multiple package managers as it is a hassle when updating and may lead to dependency hell. I want to know which package managers are being used the most considering they are hassle-free and easy to update and keep track of.

So what package manager do you use?

๐ŸŒ
Python.org
discuss.python.org โ€บ packaging
2024 Python package manager overview - Packaging - Discussions on Python.org
July 9, 2024 - A colleague of mine (does not seem to have a handle here) pointed out the following article, which I think is a pretty nice โ€“ even if opinionated โ€“ high-level overview over the current state of affairs in python packaging land (at least from the POV of user-facing tools): The one nitpick I have is that Iโ€™d wish the article underscored a bit more is how pixi is explicitly trying to bridge the gap between the world of PyPI-based packages and conda packages, which is (in my biased opinion) one o...
๐ŸŒ
pyOpenSci
pyopensci.org โ€บ python-package-guide โ€บ maintain-automate โ€บ environment-managers.html
Environment Managers for Python Packaging โ€” Python Packaging Guide
Hatch combined with UV if you are managing a Python package. Check out our tutorials for more on this workflow. Pixi or mamba as faster alternatives to conda if you are working in the non-Pure Python packaging space.
Find elsewhere
๐ŸŒ
Python Packaging
packaging.python.org โ€บ guides โ€บ tool-recommendations
Tool recommendations โ€” Python Packaging User Guide
distribute (a fork of setuptools) was merged back into setuptools in June 2013, thereby making setuptools the default choice for packaging.
๐ŸŒ
GitHub
github.com โ€บ showcases โ€บ package-managers
Package managers ยท GitHub
September 28, 2016 - The Sublime Text package manager ยท Python 4,871 802 Updated ยท Mar 15, 2026 ยท There was an error while loading. Please reload this page. Atom Package Manager ยท CoffeeScript 1,271 293 Updated ยท Sep 28, 2022 ยท There was an error while loading. Please reload this page.
๐ŸŒ
ActiveState
activestate.com โ€บ home โ€บ resources โ€บ quick read โ€บ how to list installed python packages
How to List Installed Python Packages - ActiveState
November 12, 2025 - The Pip, Pipenv, Anaconda Navigator, and Conda Package Managers can all be used to generate a simple list of installed Python packages, as well as JSON formatted lists.You can also use the ActiveState Platformโ€™s command line interface (CLI), ...
๐ŸŒ
Kaggle
kaggle.com โ€บ general โ€บ 302735
Python Package managers
Checking your browser before accessing www.kaggle.com ยท Click here if you are not automatically redirected after 5 seconds
๐ŸŒ
Academic Accelerator
academic-accelerator.com โ€บ encyclopedia โ€บ list-of-software-package-management-systems
List Of Software Package Management Systems
Academic Accelerator Database includes over 30000 Journals with Journal Ranking | Impact Metric | Abbreviation (ISO 4) | Acceptance Rate | Review Speed | Template | Research Hotspot | SJR | Citescore | SNIP | H-Index | Self-citation Ratio
๐ŸŒ
Lincoln Loop
lincolnloop.com โ€บ blog โ€บ python-package-manager-shootout
Python Package Manager Shootout | Lincoln Loop
August 29, 2025 - tl;dr I built a benchmark for Python Package managers, you can view it at https://lincolnloop.github.io/python-package-manager-shootout/ When starting a new Pyโ€ฆ
๐ŸŒ
PyPI
pypi.org โ€บ project โ€บ meta-package-manager โ€บ 2.6.1
meta-package-manager ยท PyPI
List all packages installed for which an upgrade is available: $ mpm outdated โ•ญโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ฌโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ•ฎ โ”‚ Package name โ”‚ ID โ”‚ Manager โ”‚ Installed version โ”‚ Latest version โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ผโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€
      ยป pip install meta-package-manager
    
Published ย  Feb 06, 2026
Version ย  6.1.1
๐ŸŒ
Jacobtomlinson
jacobtomlinson.dev โ€บ posts โ€บ 2025 โ€บ python-package-managers-uv-vs-pixi
Python package managers: uv vs pixi? - Jacob Tomlinson
November 18, 2025 - When I talk to people about Python package management in 2025 I see the following tools in active use; uv, pixi, pip, conda, mamba, micromamba and poetry. There may be others, but I donโ€™t hear much about them.
Top answer
1 of 16
1336
help('modules')

in a Python shell/prompt.

2 of 16
673

Solution

Do not use with pip > 10.0!

My 50 cents for getting a pip freeze-like list from a Python script:

import pip
installed_packages = pip.get_installed_distributions()
installed_packages_list = sorted(["%s==%s" % (i.key, i.version)
     for i in installed_packages])
print(installed_packages_list)

As a (too long) one liner:

sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])

Giving:

['behave==1.2.4', 'enum34==1.0', 'flask==0.10.1', 'itsdangerous==0.24',
 'jinja2==2.7.2', 'jsonschema==2.3.0', 'markupsafe==0.23', 'nose==1.3.3',
 'parse-type==0.3.4', 'parse==1.6.4', 'prettytable==0.7.2', 'requests==2.3.0',
 'six==1.6.1', 'vioozer-metadata==0.1', 'vioozer-users-server==0.1',
 'werkzeug==0.9.4']

Scope

This solution applies to the system scope or to a virtual environment scope, and covers packages installed by setuptools, pip and (god forbid) easy_install.

My use case

I added the result of this call to my Flask server, so when I call it with http://example.com/exampleServer/environment I get the list of packages installed on the server's virtualenv. It makes debugging a whole lot easier.

Caveats

I have noticed a strange behaviour of this technique - when the Python interpreter is invoked in the same directory as a setup.py file, it does not list the package installed by setup.py.

Steps to reproduce:

Create a virtual environment

$ cd /tmp
$ virtualenv test_env
New python executable in test_env/bin/python
Installing setuptools, pip...done.
$ source test_env/bin/activate
(test_env) $

Clone a Git repository with setup.py

(test_env) $ git clone https://github.com/behave/behave.git
Cloning into 'behave'...
remote: Reusing existing pack: 4350, done.
remote: Total 4350 (delta 0), reused 0 (delta 0)
Receiving objects: 100% (4350/4350), 1.85 MiB | 418.00 KiB/s, done.
Resolving deltas: 100% (2388/2388), done.
Checking connectivity... done.

We have behave's setup.py in /tmp/behave:

(test_env) $ ls /tmp/behave/setup.py
    /tmp/behave/setup.py

Install the Python package from the Git repository

(test_env) $ cd /tmp/behave && pip install .
running install
...
Installed /private/tmp/test_env/lib/python2.7/site-packages/enum34-1.0-py2.7.egg
Finished processing dependencies for behave==1.2.5a1

If we run the aforementioned solution from /tmp

>>> import pip
>>> sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])
['behave==1.2.5a1', 'enum34==1.0', 'parse-type==0.3.4', 'parse==1.6.4', 'six==1.6.1']
>>> import os
>>> os.getcwd()
'/private/tmp'

If we run the aforementioned solution from /tmp/behave

>>> import pip
>>> sorted(["%s==%s" % (i.key, i.version) for i in pip.get_installed_distributions()])
['enum34==1.0', 'parse-type==0.3.4', 'parse==1.6.4', 'six==1.6.1']
>>> import os
>>> os.getcwd()
'/private/tmp/behave'

behave==1.2.5a1 is missing from the second example, because the working directory contains behave's setup.py file.

I could not find any reference to this issue in the documentation. Perhaps I shall open a bug for it.

๐ŸŒ
ArcGIS Pro
pro.arcgis.com โ€บ en โ€บ pro-app โ€บ 3.4 โ€บ arcpy โ€บ get-started โ€บ what-is-conda.htm
Package Managerโ€”ArcGIS Pro | Documentation
If you are deploying applications into external environments or are mirroring Anaconda repositories or components, you need an additional Anaconda license to cover use of the Anaconda base packages. For detailed information, see Esri's licensing agreement with Anaconda. From a command prompt, you can access conda functionality using the conda command. The active Python environment is indicated in parentheses at the prompt before the current directory. Use the Python Command Prompt shortcut to open a command prompt window initialized with the active conda environment for ArcGIS Pro. ... List packages in the active environment.
๐ŸŒ
MLJAR
mljar.com โ€บ glossary โ€บ python-package-manager
What is Python Package Manager?
pip is the most widely used package manager for Python. Here are some basic commands and how they are used: ... This command installs the specified package from PyPI. For example: ... This will install the requests library, which is used for making HTTP requests. ... This command upgrades the specified package to the latest version. For example: ... This command lists all installed packages and their versions.