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

时间:2017-05-27 20:21:44

标签: python macos python-2.7 tweepy

我最近将笔记本电脑从微软转换为Apple(2015 MacBook Pro),我已经成功地安装了Nlkt等python库而没有任何问题。

现在我一直在尝试安装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,提出了这条消息:

  

目录' / Users / MYNAME / Library / Caches / pip'或其父目录不归当前用户所有,并且已禁用缓存轮。检查该目录的权限和所有者。如果用sudo执行pip,你可能需要sudo' -H标志。

     

要求已经满足:在./Library/Python/2.7/lib/python/site-packages中的tweepy   要求已经满足:6个> = 1.7.3 in ./Library/Python/2.7/lib/python/site-packages(来自tweepy)
  要求已经满足:requests-oauthlib> = 0.4.1 in ./Library/Python/2.7/lib/python/site-packages(from tweepy)
  要求已经满足:请求> = 2.4.3 in ./Library/Python/2.7/lib/python/site-packages(来自tweepy)
  要求已经满足:oauthlib> = 0.6.2 in ./Library/Python/2.7/lib/python/site-packages(来自requests-oauthlib> = 0.4.1-> tweepy)
  要求已经满足:urllib3< 1.22,> = 1.21.1 in ./Library/Python/2.7/lib/python/site-packages(来自请求> = 2.4.3-> tweepy)
  要求已经满足:idna< 2.6,> = 2.5 in ./Library/Python/2.7/lib/python/site-packages(来自请求> = 2.4.3-> tweepy)
  要求已经满足:certifi> = 2017.4.17 in ./Library/Python/2.7/lib/python/site-packages(from requests> = 2.4.3-> tweepy)
  要求已经满足:chardet< 3.1.0,> = 3.0.2 in ./Library/Python/2.7/lib/python/site-packages(from requests> = 2.4.3-> tweepy)

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

对不起我的长篇解释,但我已经绝望了......

非常感谢你的帮助!!

3 个答案:

答案 0 :(得分:0)

通过查看您的错误消息,您似乎已经拥有它。

  

要求已经满足:./Library/Python/2.7/lib/python/site-packages中的tweepy

我尝试复制你的问题(在Python 2.7 / 3.5中)并没有遇到任何问题,并且能够将其导入IDLE。

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

// Get a XPath instance XPath xpath = XPathFactory.newInstance().newXPath(); // Find the Video element with text 'Superman' Element supermanVideo = (Element) xpath.evaluate("/class/Video[. = 'Superman']", doc, XPathConstants.NODE); if(supermanVideo != null) { // Remove this element from the parent supermanVideo.getParentNode().removeChild(supermanVideo); } // Serialize the XML document ...

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

答案 1 :(得分:0)

一种解决方案是使用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,两者都可以在您的计算机上安静地生存。

答案 2 :(得分:0)

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

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

这很简单。

感谢这项规定;现在我可以继续我的第一次提取。