GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Feature: Add guide to install system dependencies with Pixi · Issue #1669 · python/devguide

Feature: Add guide to install system dependencies with Pixi #1669

New issue
Copy link
New issue
Copy link
Open
Open
Feature: Add guide to install system dependencies with Pixi#1669
Copy link
Labels
topic-building pythontype-featureAdditions; New content or section neededAdditions; New content or section needed

Description

@lysnikolaou
lysnikolaou
opened on Oct 17, 2025
Issue body actions

Describe the enhancement or feature you would like

I've stopped using brew on my macOS and I'm instead using pixi whenever I need system-level dependencies. This works very well in practice even for building CPython and I can do things like pixi run configure and it automatically sets up all of the system dependencies and runs configure. Doing that requires setting some environment variables here and there, but I've done that in a pixi.toml and it's all automated. It looks somewhat like this:

[project]
name = "cpython-dev"
channels = ["conda-forge"]
platforms = ["osx-arm64"]

[dependencies]
gdbm = "*"
libmpdec-devel = "*"
openssl = "3.*"
pkg-config = "*"
tk = "*"
xz = "*"
zstd = "*"
zlib = "*"

[tasks.configure]
cmd = "./configure --with-openssl=$CONDA_PREFIX"

[tasks.configure.env]
PKG_CONFIG_PATH = "$CONDA_PREFIX/lib/pkgconfig"
GDBM_CFLAGS = "-I$CONDA_PREFIX/include"
GDBM_LIBS = "-L$CONDA_PREFIX/lib -lgdbm"
TCLTK_CFLAGS = "$(pkg-config --cflags tcl tk)"
# tcl.pc and tk.pc files contain stub libraries, but those do not extist
# in the conda package
TCLTK_LIBS = "$(pkg-config --libs tcl tk | sed 's/-l[^ ]*stub[^ ]*//g')"
LDFLAGS = "-Wl,-rpath,$CONDA_PREFIX/lib"

It's a bit too much to propose adding this to the CPython repo, at least for now. However, pointing to this as a way to install system-level dependencies in the devguide doesn't sounds like a bad idea to me.

Thoughts? Is there an appetite for this? If so, I can start drafting a PR.

Describe alternatives you have considered

No response

Additional context

No response

Reacted by Stan Ulbrych, Hugo van Kemenade, Ralf Gommers, Iason Krommydas, Filipe Laíns and Lucas Colley

Activity

  1. lysnikolaou
    added
    type-featureAdditions; New content or section neededAdditions; New content or section needed
    on Oct 17, 2025
  2. StanFromIreland commented on Oct 17, 2025

    @StanFromIreland
    StanFromIreland
    on Oct 17, 2025
    Member
    More actions

    Is there an appetite for this?

    While I have never used a Mac properly, this seems reasonable to me. Adding a third tab (we already have "Homebrew" and "MacPorts" seems fine.

  3. StanFromIreland
    added
    guide-new content
    topic-building python
    on Oct 17, 2025
  4. ikrommyd commented on Dec 4, 2025

    @ikrommyd
    ikrommyd
    on Dec 4, 2025
    More actions

    It would be nice to also add other tasks with "usual" configuration options like debug build or a prefix. As far as I am aware, I think pixi tasks can accept user arguments. My typical python configuration/building is something like this

    PYTHON_VERSION="3.14.0"
    PYTHON_MINOR=$(echo $PYTHON_VERSION | grep -oE '^[0-9]+\.[0-9]+')
    
    ./configure --prefix=/opt/python/${PYTHON_VERSION}/ --enable-loadable-sqlite-extensions --with-openssl=/opt/homebrew/opt/openssl@3 --with-pydebug
    sudo make -j16
    sudo make altinstall
    
  5. FFY00 commented on Dec 9, 2025

    @FFY00
    FFY00
    on Dec 9, 2025
    Member
    More actions

    FWIW, we've found pixi extremely useful to test downstreams with the address sanitizer, as they need quite a delicate environment to be setup. I have proposed adding pixi definitions in CPython for ASAN builds at python/cpython#142466, as IMO there's a strong reason to do so in that use-case.

    I think a broader use of pixi could be helpful.

    Reacted by Lucas Colley
  6. lucascolley commented on Dec 9, 2025

    @lucascolley
    lucascolley
    on Dec 9, 2025
    More actions

    see python/cpython#142469. That PR is geared towards automating builds which can be used downstream, but it should be helpful for similar work towards a Pixi workspace for developing CPython itself.

  7. StanFromIreland
    removed
    type-feature
    on Mar 3, 2026
  8. kurupashwin482-web commented on Oct 20, 2026

    @kurupashwin482-web
    kurupashwin482-web
    on Oct 20, 2026
    More actions

    Hi! I'd like to work on this issue as my first open-source contribution.

    I plan to add a Pixi tab alongside the existing Homebrew and MacPorts instructions in getting-started/setup-building.rst, following the approach discussed here.

    Is this issue still available to work on? Also, is there a preferred Pixi configuration or any additional guidance I should follow before starting?

    Thank you!

  9. StanFromIreland commented on Oct 20, 2026

    @StanFromIreland
    StanFromIreland
    on Oct 20, 2026
    Member
    More actions

    I plan to add a Pixi tab alongside the existing Homebrew and MacPorts

    Is Pixi Mac-specific?

  10. kurupashwin482-web commented on Oct 20, 2026

    @kurupashwin482-web
    kurupashwin482-web
    on Oct 20, 2026
    More actions

    No, Pixi isn't Mac-specific. It supports Linux, macOS, and Windows.

    I suggested adding it alongside Homebrew and MacPorts because the original issue discusses using Pixi as an alternative for installing CPython's build dependencies on macOS. I agree that the documentation shouldn't imply Pixi is limited to macOS.

    Would you prefer that I expand this issue to cover Pixi as a cross-platform option, or keep it focused on the macOS use case for now?

    Thank you for the clarification!

  11. hugovk commented on Oct 21, 2026

    @hugovk
    hugovk
    on Oct 21, 2026
    Member
    More actions

    Let's start with a third tab for macOS only.

    Reacted by Lysandros Nikolaou
  12. willingc commented on Oct 22, 2026

    @willingc
    willingc
    on Oct 22, 2026
    Collaborator
    More actions

    @hugovk @StanFromIreland I'm not sure that this makes sense to only do for mac. I'm also not sure if this is the best location in the devguide for this. I love pixi and there are definite benefits for certain uses especially if you are on a GPU system.

    @ngoldbaum Do you have thoughts on this?

  13. StanFromIreland commented on Oct 22, 2026

    @StanFromIreland
    StanFromIreland
    on Oct 22, 2026
    Member
    More actions

    I concur, if we're going to add it, we should make it a general option.

    Reacted by Carol Willing
  14. ngoldbaum commented on Oct 22, 2026

    @ngoldbaum
    ngoldbaum
    on Oct 22, 2026
    More actions

    I think it should be documented as a generic way to build Python. It's particularly useful to me for sharing complicated multi-project build setups. I can have one toml file that sets up CPython, numpy, and pandas, building them all with the same compiler stack and sanitizer options.

    Reacted by Carol Willing
  15. lucascolley commented on Oct 22, 2026

    @lucascolley
    lucascolley
    on Oct 22, 2026
    More actions

    Hey all, happy to review suggestions here. I agree that it should be generic across OS choices.

    Reacted by Carol Willing
  16. willingc commented on Oct 23, 2026

    @willingc
    willingc
    on Oct 23, 2026
    Collaborator
    More actions

    It looks like there is consensus to make it generic across OS choices.

    The next question is where to put this information: on an existing page or a new one?

    Thanks @kurupashwin482-web for your patience as we determine the best place for this information.

  17. hugovk
    changed the title [-]Feature: Add guide to install system dependencies with pixi[/-] [+]Feature: Add guide to install system dependencies with Pixi[/+] on Oct 23, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    topic-building pythontype-featureAdditions; New content or section neededAdditions; New content or section needed

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.