Python给出的Python OSX $ /Library/Frameworks/Python.framework/Versions/2.7/bin/python

Nic*_*ini 5 python macos twisted python-2.7

你好,我试图运行扭曲随着蟒蟒却找不到扭曲.

我确实运行了$ pip install twisted但是它仍然无法使用.

ImportError:没有名为twisted.internet.protocol的模块

似乎大多数人 在/ usr/local/bin/python中$ python

但我得到/Library/Frameworks/Python.framework/Versions/2.7/bin/python

这可能是问题吗?如果是这样,我该如何更改PATH环境?

小智 11

这很好.Python可能安装在您计算机的多个位置.当你得到一个新的Mac,默认的python目录可能是

 'usr/bin/python2.7'
Run Code Online (Sandbox Code Playgroud)

您可能还有一个目录

'System/Library/Frameworks/Python.framework/Versions/2.7/bin/python'
Run Code Online (Sandbox Code Playgroud)

第一个是第二个的符号链接.

如果你使用HomeBrew来安装python,你可能会得到一个目录

'usr/local/bin/python2.7'
Run Code Online (Sandbox Code Playgroud)

您可能还有一个目录

'Library/Frameworks/Python.framework/Versions/2.7/bin/python'
Run Code Online (Sandbox Code Playgroud)

这正是我的目录所在.

第二个和第四个之间的区别,您可以在这里找到它 安装您的框架

在你的问题中,正如你提到的pip install成功,但安装的软件包仍然无法使用.我猜你的pip目录不在你的默认python目录中,而且这些包安装在你的pip目录所在的位置.(请用'which pip'它来检查)

例如,在我的计算机中,默认的pip目录是

/Library/Frameworks/Python.framework/Versions/2.7/bin/pip
Run Code Online (Sandbox Code Playgroud)

虽然,我也有点在usr/local/bin.

所以,通过'pip install'安装的所有软件包都存储在

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages
Run Code Online (Sandbox Code Playgroud)

希望能解决你的疑问.类似的事情发生在我身上,我花了整整一夜才弄明白.

以下是解决方案:PYTHONPATH="/usr/local/lib/python2.7/site-packages:$PYTHONPATH"用于修改python目录或修改pip目录.但是,我会建议一个更好的方法,使用virtualenv.这可以隔离Python环境,并可以帮助您轻松地为每个项目设置包.


Mik*_*utz 2

根据你为 OS X python 提供的路径,我猜你的 OS X (leopard?) 上的版本太旧了,所以我无法直接与我的机器进行比较。

但是,向基本 OS X 安装添加软件包始终是一件棘手的事情,我建议检查您添加的任何软件包的权限。执行 als -l /Library/Python/2.7/site-packages/并确保所有内容都有r权限(以及x目录权限)(IE-rwxr-xr-xdrwxr-xr-x)。

我最近遇到一个案例,asudo pip不会在已安装的软件包上设置用户读取权限,我相信“无模块”是我尝试使用它们时遇到的错误

由于在 OS X 上添加软件包非常棘手,因此网上有大量手动安装 Python 的指南。我在谷歌上匹配的第一个是在 OS X 上安装/更新 Python(使用风险自负,我个人没有遵循该指南)

(...第三部分安装系统Brew也是人们自动安装 python 的一种非常常见的方法)