'Fixing PATH for Python libraries using Bash

I am attempting to install some Python libraries by executing variations of the following command in Bash:

pip install --user -U numpy

I installed Python3 using Homebrew.

I then get variations of the following message each time:

WARNING: The scripts f2py, f2py3 and f2py3.7 are installed in '/Users/x/Library/Python/3.7/bin' which is not on PATH. Consider adding this directory to PATH or, if you prefer to suppress this warning, use --no-warn-script-location.

How can I fix this issue to avoid problems in the future?



Solution 1:[1]

The error message is telling you to add Python 3 to your path.

To do that, use a text editor to open /Users/<you>/.profile, and as the very last line add:

export PATH=/Users/<you>/Library/Python/3.8/bin:$PATH

Then you'll need to launch a new Terminal window for those settings to take effect. (you could make it take effect in your current shell by entering the line directly into your shell)

[Edit: now that macOS 12.3 has removed all versions of Python, Homebrew is the easiest way to install Python. Fortunately things are simpler because there's only one version of Python on your system and you won't need to override the system's version (because there isn't one any longer).]

Solution 2:[2]

Update: As of python 3.8, the following path should be used:

export PATH=/Library/Frameworks/Python.framework/Versions/3.8/bin:$PATH

If you're using bash, you can store this in your /.bashrc
If you're using zsh, you can store this in your /.zshrc

Solution 3:[3]

You have to update the seeking path location, to needed bin folder, in your .zshrc, .bashrc etc.

Example

For /Library/Python/3.8/bin, you can prepend the variable $HOME, and use with the needed path:

export PATH="$HOME/Library/Python/3.8/bin:$PATH"

Epilogue

In current Terminal tab, you have to reload your shell, with the config, by . ~/.zshrc, or .bashrc etc

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2
Solution 3 dimpiax