使用 pip 在 Mac 上安装 tweepy - 错误消息

installing tweepy on Mac using pip - error message

我最近将笔记本电脑从 Microsoft 换成了 Apple (2015 MacBook Pro),并且我一直在成功安装 python 库,例如 Nlkt,没有任何问题。

现在我一直在尝试安装 tweepy,但似乎收到了大量不同的错误消息。

尝试后 pip install tweepy[在我的终端中显示 “语法无效” 的错误消息] 我在这里做了一些研究并尝试了以下解决方案:

import pip
>>> package_name='tweepy' 
>>> pip.main(['install',package_name])

OSError: [Errno 1] Operation not permitted: '/var/folders/t1/4g62trws5812jb97vvw5kp900000gn/T/pip-yabtGc-uninstall/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/six-1.4.1-py2.7.egg-info'  
2
>>> 

如您所见,它仍然无法正常工作...

我也试过 sudo pip install tweepy,结果是这条消息:

The directory '/Users/MYNAME/Library/Caches/pip' or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.

Requirement already satisfied: tweepy in ./Library/Python/2.7/lib/python/site-packages
Requirement already satisfied: six>=1.7.3 in ./Library/Python/2.7/lib/python/site-packages (from tweepy)
Requirement already satisfied: requests-oauthlib>=0.4.1 in ./Library/Python/2.7/lib/python/site-packages (from tweepy)
Requirement already satisfied: requests>=2.4.3 in ./Library/Python/2.7/lib/python/site-packages (from tweepy)
Requirement already satisfied: oauthlib>=0.6.2 in ./Library/Python/2.7/lib/python/site-packages (from requests-oauthlib>=0.4.1->tweepy)
Requirement already satisfied: urllib3<1.22,>=1.21.1 in ./Library/Python/2.7/lib/python/site-packages (from requests>=2.4.3->tweepy)
Requirement already satisfied: idna<2.6,>=2.5 in ./Library/Python/2.7/lib/python/site-packages (from requests>=2.4.3->tweepy)
Requirement already satisfied: certifi>=2017.4.17 in ./Library/Python/2.7/lib/python/site-packages (from requests>=2.4.3->tweepy)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in ./Library/Python/2.7/lib/python/site-packages (from requests>=2.4.3->tweepy)

当我尝试将 tweepy 导入空闲时,它说 “没有名为 tweepy 的模块”

抱歉我冗长的解释,但我越来越绝望了...

非常感谢您的帮助!!

从您的错误消息来看,您似乎已经拥有它。

Requirement already satisfied: tweepy in ./Library/Python/2.7/lib/python/site-packages

我尝试复制您的问题(在 Python 2.7/3.5 中),但没有 运行 解决任何问题,并且能够将其导入 IDLE。

一种可能的解决方案是将您的 PATH 目录更改为错误消息中列出的目录。

export PYTHONPATH=$PYTHONPATH:./Library/Python/2.7/lib/python/site-packages

另一件事是考虑在将来使用 virtual environment 以确保您的软件包安装没有冲突。

一种解决方案是使用 virtualenv.

简而言之,virtualenv 在不同于计算机 python 安装的文件夹中创建一个单独的 python 实例。这允许轻松安装包,并帮助您更好地管理依赖项,而不是使用 pip 全局安装所有内容。

我该怎么做?

首先,install virtualenv

 $ pip install virtualenv

接下来,创建一个虚拟环境。以下命令将在您执行此命令的目录中名为 "foo" 的文件夹中创建一个 python 实例。

 $ virtualenv foo

现在,每当您需要安装某些东西时,使用位于 foo/bin/pip 的 pip 和位于 foo/bin/python 的 python。

 $ foo/bin/pip install tweepy

您可以通过 python 解释器进行测试:

 $ foo/bin/python
 Python 2.7.10 (default, Feb  6 2017, 23:53:20) 
 [GCC 4.2.1 Compatible Apple LLVM 8.0.0 (clang-800.0.34)] on darwin
 Type "help", "copyright", "credits" or "license" for more information.
 >>> import tweepy 

你为什么要这样做?

如果您使用 virtualenv,您不太可能 运行 陷入依赖性问题。

例如,假设您制作了一些名为 ProjectAAA 的 python 程序,它使用 LibraryXYZ 的 1.1 版。几个月后,您想要编写一个新的、完全不相关的 python 程序 ProjectZZZ,它使用同一库的 2.2.5 版。当 LibraryXYZ 从 1.1 升级到 2.2.5 时,他们删除并重命名了一些您在 ProjectAAA 中使用的 类 和函数。因此,如果您使用 pip 并安装到 Mac 上的主 python 实例,您将无法再 运行 ProjectAAA,因为它依赖于版本 1.1,但您的计算机有版本 2.2.5.

如果你使用 virtualenv,你可以有两个独立的 python 实例,每个都有自己的 pip 和自己的包安装。所以ProjectAAA的环境是1.1版本,ProjectZZZ的环境是2.2.5版本,两者都可以在你的电脑上安心使用。

我使用 OS X,我刚刚在 Python IDLE 上成功安装了 tweepy,使用:

import pip
package_name='tweepy' 
pip.main(['install',package_name])

这很容易。

感谢提供;现在我可以开始我的第一次提取了。