热门标签:
Q:

Python OSX是Python给出的/Library/Frameworks/Python。框架/版本/2.7/bin/python

你好我试图与python一起运行twisted,但python找不到twisted

我确实成功运行了$pip install twisted,但它仍然不可用。

ImportError:没有名为twisted的模块。互联网。协议

看来大多数人都有$which pythonat/usr/local/bin/python

但我得到/Library/Frameworks/Python。框架/版本/2.7/bin/python

这可能是问题吗? 如果是这样,如何更改路径env?

原网址
A:

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

 'usr/bin/python2.7'

你也可能有一个目录

'System/Library/Frameworks/Python.framework/Versions/2.7/bin/python'

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

如果你使用自制软件安装python,你可能会得到一个目录

'usr/local/bin/python2.7'

你也可以有一个目录

'Library/Frameworks/Python.framework/Versions/2.7/bin/python'

这就是我的目录所在。

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

在您的问题中,正如您所提到的pip安装成功,但安装的软件包仍然不可用。 我可能猜你的pip目录不在你的默认python目录中,并且软件包安装在你的pip目录所在的位置。 (请使用'which pip'查看)

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

/Library/Frameworks/Python.framework/Versions/2.7/bin/pip

不过,我也在usr/local/bin中使用了pip。

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

/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages

希望能解决你的疑问。 类似的事情发生在我身上,我花了整整一个晚上才弄清楚。

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

所有回答

共 3 条

author avatar

通过你给OSX python的路径,我猜你在OSX上有一个或更老的版本(leopard?)所以我不能直接与我的机器进行比较。

但是,将软件包添加到基本OS X安装始终是一件棘手的事情,我会推荐的一项检查是您添加的任何软件包的权限。 做一个ls -l /Library/Python/2.7/site-packages/并确保一切都有r权限(以及目录的x权限)(即-rwxr-xr-xdrwxr-xr-x)。

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

因为添加软件包在OS X上非常敏感,所以网上有很多关于手动安装python的指南。 我在google上匹配的第一个是在OS X上安装/更新Python(使用风险自负,我个人没有遵循该指南)

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

author avatar

好吧,在终端我终于发现了:

打开。bash_profile位于您的用户根目录(只需在终端中执行$cd即可到达那里),并添加路径是twisted

的位置
PYTHONPATH="/usr/local/lib/python2.7/site-packages:$PYTHONPATH" 
export PYTHONPATH
author avatar

即使我做了apip2 install xxxpip install xxx,我也得到了apip2 install xxxpip2.7 install xxx为我工作。 这将它安装在python2.7目录中。

相似问题