Pip using system python osx

爷,独闯天下 提交于 2019-12-02 21:13:29

Remove pip from /usr/local/bin with sudo rm /usr/local/bin/pip.

If you have installed pip with macports, which pip should then show /opt/local/bin/pip. If not, install pip again by following the instructions here. As long as which python shows the /opt/local installation, it should work. If it doesn't, you will need to edit your PATH env variable.

Summarizing the above, installing pip using Macports with:

sudo port install py27-pip

results in an installation of a package named py27-pip.

However, no /opt/local/bin/pip is installed and port select pip or port select py27-pip both fail (in contrast to a port select python). Changing things in the bin directory of another distribution is not generally recommended.

Note that /usr/bin python links point to the pre-installed python by Apple, /usr/local/bin point to those installed by MacPython from python.org, whereas /opt/local/bin is where Macports install their links. The actual Library installations can be found by ls -ls applied to the various python files in each bin directory).

To ensure that the Macports files are called, export the path for Macports last in your .bash_profile. For example, if you installed Macports and then happened to install a binary distribution from python.org, you will end having its path later in you ~/.bash_profile, so it will come first in the path variable and Macpython will be shadowing Macports.

After ensuring that the paths are appropriately set, the system still fails to find a pip command in the Macports bin directory, because it is installed as pip-2.7 and no pip is automatically created.

As a result, the system continues searching the path and if e.g. Macpython is added to the path some place later and has pip installed, then that pip will show up.

This can be avoided by the command proposed above:

sudo ln -s /opt/local/bin/pip-2.7 /opt/local/bin/pip

Here is my setup to get pip working with macports and set py26-pip as the default pip

sudo port install py26-pip && sudo port select --set pip py26-pip

after install finishes run to see the help information for pip

pip --help

after you may need to update your path to include the bin files installed by pip edit .bash_profile to include something like

export PATH=/opt/local/bin:/opt/local/sbin:/opt/local/Library/Frameworks/Python.framework/Versions/2.6/bin:$PATH

You should have the python and pip installed in /opt/local/bin/ prior to those installed in /usr/local/bin/.

Also, you should check to execute which python and whether the pip was installed in /opt/local/bin/pip.

I found I needed to ln -s /opt/local/bin/pip-2.7 /opt/local/bin/pip. For some reason macports didn't built that link, even when you try activating that version of python or pip.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!