【发布时间】:2016-10-22 05:21:51
【问题描述】:
我使用的是 MacOS 10.11,除了本机 Python 安装之外,我还通过 MacPorts 安装了 Python 和 Pip。 python 和 pip 与各自的 MacPorts 版本相关联。
但是,当通过安装包时
sudo pip install <my-package>
该包的特定 .so 文件与本机 Python 可执行文件链接。更准确地说,otool -L 在该 .so 文件上的输出是
/System/Library/Frameworks/Python.framework/Versions/2.7/Python (compatibility version 2.7.0, current version 2.7.5)
而 Python 的 MacPorts 版本位于
/opt/local/Library/Frameworks/Python.framework/Versions/2.7/
如何强制 Pip 使用正确的 Python 版本进行链接?
【问题讨论】:
-
最好设置一个虚拟环境。见this answer。
-
@LexScarisbrick:感谢您的链接!但是,在虚拟环境中安装包时,.so 文件仍然链接到本机系统 python。在虚拟环境中调用 pip 之前是否必须修改任何配置?
-
有趣。哪个包裹和在哪里可以获取?如果包不公开,包中的
setup.py是否有shebang? -
它可以从 PyPi 公开获得。它是 nupic 包。当调用 pip install nupic 时,它也会安装包 nupic.bindings。其中有 nupic/bindings/_math.so 文件,该文件与不正确的 python 发行版相关联。
标签: python python-2.7 pip macports