【发布时间】:2016-07-16 11:56:12
【问题描述】:
我使用的是 Mac OS X 10.10。我想使用 pip 为我的自制安装版本的 python 安装软件包(位于/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 中?
我尝试了一些类似问题的建议:
- 我试过
export PATH=/usr/local/bin/python:${PATH}。 - 我试过
pip install --install-option="--prefix=/usr/local/lib/python2.7" pylzma。 - 我尝试将 pip 可执行脚本的第一行更改为
#!/usr/local/bin/python - 我试过
/usr/local/bin/python -m pip install pylzma。
但这些都不起作用。我还尝试将 pip 升级到 8.1.1,但这使得 pip 完全中断。人们推荐使用virtualenv,但据我所知,如果没有 pip,我无法安装它。
当我输入python -m pip 时,它会说:
Usage:
/usr/local/opt/python/bin/python2.7 -m pip <command> [options]
这会是个问题吗?
【问题讨论】:
-
“我试过 /usr/local/bin/python -m pip install pylzma。”。但是在此之前您是否删除了
/Library/...中的安装。否则可能会干扰。 -
还要检查
/usr/local/lib/python2.7/site-packages是否存在,或者是否在/usr/local/opt/python/lib/python2.7/site-packages中安装了东西。有时,Homebrew 不会创建从/usr/local/opt/python/到/usr/local/的符号链接。 -
@Evert,我读到不建议删除
/Library/...中的Mac OS X python安装。 -
我可能已经解决了这个问题。我将 .pydistutils.cfg 文件中的
install_dir从install_dir = /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages更改为install_dir = /usr/local/lib/python2.7/site-packages。 Pip 现在安装到正确的文件夹。但是,当我执行import pylzma时,我仍然会收到 ImportError。这可能是 pylzma 的特定问题...? -
@Evert,
/usr/local/lib/python2.7/site-packages确实存在。我遇到了持续的问题:当我尝试运行jupyter notebook时,我得到ImportError: No module named markupsafe,即使/usr/local/lib/python2.7/site-packages/MarkupSafe-0.23.dist-info存在。也许我需要提出一个新问题。
标签: python macos python-2.7 pip homebrew