2017-05-27 79 views
0

我最近切换的笔记本电脑从微软到苹果公司(2015年的MacBook Pro)和我已经没有任何问题成功地安装Python库,如Nlkt。使用PIP在Mac上安装tweepy - 错误信息

现在,我一直在试图安装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,它想出了这个消息:

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

要求已经满足:tweepy在./Library/Python/2.7/lib/python/site-packages
要求已经满足:六> =在./Library/Python/2.7/lib/python/ 1.7.3站点包(来自tweepy)
需求已满足:请求-oauthlib> = 0.4.1 in ./Library/Python/2.7/lib/python/site-packages(来自tweepy)
需求已满足:请求> = 2.4.3在./Library/Python/2.7/lib/python/site-packages(从tweepy)
要求已经满足:oauthlib> =在./Library/Python/2.7/lib/python/site- 0.6.2包(从请求 - oauthlib> = 0.4.1-> tweepy)
要求alre ady满意:urllib3 < 1.22,> = 1.21.1 in ./Library/Python/2.7/lib/python/site-packages(from requests> = 2.4.3-> tweepy)
要求已经满足:idna < 2.6, > =在./Library/Python/2.7/lib/python/site-packages 2.5(从请求> = 2.4.3-> tweepy)
要求已经满足:CERTIFI> = 2017年4月17日在./Library/Python/ 2.7/lib目录/蟒蛇/站点包(从请求> = 2.4.3-> tweepy)
要求已经满足:chardet的< 3.1.0,> = 3.0.2在./Library/Python/2.7/lib/python/site-packages(从请求> = 2.4.3-> tweepy)

当我试图导入tweepy进入闲置它说“无模块命名tweepy”

对不起,我冗长的解释,但我越来越绝望......

非常感谢你的帮助已经!

回答

0

从看你的错误信息,看来你已经拥有它。

要求已经满足:tweepy在./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,以确保有一个在您安装包没有冲突。

0

一种解决方案是使用virtualenv

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

我该怎么做?

首先,install virtualenv

$ pip install virtualenv 

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

$ virtualenv foo 

现在,每当你需要安装的东西,使用位于foo/bin/pip画中画和位于foo/bin/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版本,并且两者都可以在您的计算机上和平生活。

0

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

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

这是很容易。

感谢您的提供;现在我可以继续我的第一次提取。