pip安装到错误的文件夹,即使`哪个pip`是正确的

时间:2016-03-29 04:46:12

标签: python macos python-2.7 pip homebrew

我使用的是Mac OS X 10.10。我想使用pip为我的自制软件安装版本安装软件包(位于/usr/local/bin/python,这是一个指向/usr/local/Cellar/python/2.7.11/Frameworks/Python.framework/Versions/2.7/bin的别名)。此版本的网站套件似乎在此处:/usr/local/lib/python2.7/site-packages/

which python返回/usr/local/bin/python

which pip返回/usr/local/bin/pip

这些对我来说似乎是正确的。

尝试pip install pylzma之类的内容会返回:

Collecting pylzma
Installing collected packages: pylzma
Successfully installed pylzma
You are using pip version 8.0.2, however version 8.1.1 is available.
You should consider upgrading via the 'pip install --upgrade pip' command.

但是pip list未显示pylzma要安装。看起来pip会将软件包安装到/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages(Mac OS X附带的python)。

如何将pip安装到我的自制的python中?

我已尝试过类似问题的一些建议:

  1. 我已经尝试export PATH=/usr/local/bin/python:${PATH}
  2. 我已经尝试pip install --install-option="--prefix=/usr/local/lib/python2.7" pylzma
  3. 我尝试将pip可执行文件的第一行更改为#!/usr/local/bin/python
  4. 我已经尝试/usr/local/bin/python -m pip install pylzma
  5. 但这些都不起作用。我也尝试将pip升级到8.1.1,但这完全打破了pip。人们建议使用virtualenv,但据我所知,我无法在没有点的情况下安装它。

    当我输入python -m pip时,它会说:

    Usage:
    /usr/local/opt/python/bin/python2.7 -m pip <command> [options]
    

    这可能是个问题吗?

1 个答案:

答案 0 :(得分:2)

我的问题是我的/Users/<username>/.pydistutils.cfg包含以下内容:

[easy_install]

# set the default location to install packages
install_dir = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

[install]
install_lib = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
install_scripts = ~/bin

我将其更改为:

[easy_install]
# set the default location to install packages
install_dir = /usr/local/lib/python2.7/site-packages

[install]
install_lib = /usr/local/lib/python2.7/site-packages
install_scripts = ~/bin

这似乎奏效了。 pip install现在将软件包安装到所需的位置/usr/local/lib/python2.7/site-packages

但是,我有持续的路径问题。

import pylzma仍然给了我ImportError: No module named pylzma

并在终端中运行jupyter notebook会产生-bash: jupyter: command not found/Users/<username>/bin/jupyter notebook确实执行了,但我ImportError: No module named markupsafe,尽管存在/usr/local/lib/python2.7/site-packages/MarkupSafe-0.23.dist-info

编辑:我最终得到了jupyter笔记本。我必须直接从源代码tarball安装几个软件包,包括MarkupSafe,functools32和jsonschema。也许Python没有查找正确的文件夹或其他东西。