Installation location for python code, tools, etc.

Bill Cole macportsusers-20171215 at
Sun Jan 2 22:16:39 UTC 2022

On 2022-01-02 at 16:23:34 UTC-0500 (Sun, 2 Jan 2022 16:23:34 -0500)
Forrest Aldrich <forrie at>
is rumored to have said:

> I'm not very experienced with Python, yet, but with regard to 
> MacPorts, I'm trying to understand why when I do a pip3 install, or a 
> direct install from a project tree ie: "python install" the 
> tool(s) end up in this directory instead of /opt/local/bin|sbin etc:
> /opt/local/Library/Frameworks/Python.framework/Versions/3.9/bin/

This is how MacPorts supports simultaneous installs of different Python 
versions. You may note that there are versioned python symlinks in 
/opt/local/bin pointing to that path and possibly an additional bunch of 
symlinks making 'python' and 'python3' go there. If you install the 
python_select and python3_select ports, they will create links in 
/opt/local/bin if you run 'port select python' or 'port select python3' 
that ultimately resolve to that versioned path.

When you install a Python module outside of MacPorts, its installer is 
almost certain to not know to create those links.

> I'm suspecting an environment variable.

I believe that *in theory* you should get binaries into 
/opt/local/(s)bin/ if you set the PYTHONHOME environment variable to 
when running or pip.

Bill Cole
bill at or billcole at
(AKA @grumpybozo and many * addresses)
Not Currently Available For Hire

More information about the macports-users mailing list