2013-02-24 144 views
17

我是新手,我需要为我的项目使用pySerial和feedparser模块。我正在跑狮子山。未找到Python pip安装模块。如何将python链接到pip位置?

我按照以下教程,以便我可以升级到python 2.7.3,然后使用上述模块。

http://hackercodex.com/guide/python-virtualenv-on-mac-osx-mountain-lion-10.8/

我跟着这个教程,直到我安装点子。而不是安装Virtualenv。我使用以下命令安装pySerial和feedparser

$ pip install pySerial 
Requirement already satisfied (use --upgrade to upgrade): pySerial in /Library/Python/2.7/site-packages 
Cleaning up... 

我认为这已经存在并检查它。 Python似乎正在导入这很好。我的python版本已经升级到2.7.3 btw,因为我使用教程中提到的自制软件安装了它。

然后我试图安装feedparser

$ pip install feedparser 
Requirement already satisfied (use --upgrade to upgrade): feedparser in /usr/local/lib/python2.7/site-packages 
Cleaning up... 

通知其在USR/local/lib目录的site-packages目录如何。

我所有的pip安装都安装在该目录中,但是当我尝试导入它们时,python似乎没有选择它们。

如何设置路径,使python也看起来那里以及核心目录?

您的帮助将不胜感激。

我试图寻找答案在这里: Pip installs but module is not found Why I can't import beautifulsoup on mac using python 2.7 after installing it by using pip and/or easy_install?

但niether都是在同样的情况,因为我。我不明白为什么会这样,因为我通过自制软件编辑我的.bash_profile具有以下

# Set architecture flags 
export ARCHFLAGS="-arch x86_64" 
# Ensure user-installed binaries take precedence 
export PATH=/usr/local/share/python:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin 
# Load .bashrc if it exists 
test -f ~/.bashrc && source ~/.bashrc 

然后安装自制软件,然后安装蟒蛇2.7.3(2.7.3现在目前我的机器上运行)

我觉得所有的pip安装都会正确关联?

回答

32

作为一个快速的解决方法,并假设你是一个bash类似的终端(Linux的/ OSX)上,你可以尝试将PYTHONPATH环境变量导出:

export PYTHONPATH="${PYTHONPATH}/usr/local/lib/python2.7/site-packages:/usr/lib/python2.7/site-packages" 

对于Python 2.7

+7

这对我的作品。你能简单解释一下吗? Thx – GilbertLee 2014-07-03 11:32:44

0

你是如何安装easy_install/pip的?确保你安装了它的升级版本的Python。这里可能发生的事情是旧的(默认)python安装可能与您的pip安装相关联。您可能想尝试运行默认版本并导入新安装的模块。

7

我也有这个问题。我注意到/usr/local/lib/python2.7/dist-packages/下的所有子目录和文件对组和其他组都没有读或写权限,并且它们由root拥有。这意味着,只有root用户可以访问他们,让试图运行任何使用这些模块有一个导入错误的Python脚本的任何用户:

$ python 
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import selenium 
Traceback (most recent call last): 
    File "<stdin>", line 1, in <module> 
ImportError: No module named selenium 
>>> 

我授予了对文件和搜索权限读取权限在子目录集团等,像这样:

$ sudo chmod -R go+rX /usr/local/lib/python2.7/dist-packages 

这解决了我的问题:我安装了这些软件包与PIP

$ python 
Python 2.7.3 (default, Apr 10 2013, 06:20:15) 
[GCC 4.6.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> import selenium 
>>> 

(以root身份运行机智h sudo)。我不确定为什么在没有授予读/搜索权限的情况下安装它们。这对我来说似乎是一个小问题,或者可能在包配置中,但我对Python及其模块打包不是很熟悉,所以我不太确定。 FWIW,dist-packages下的所有软件包都有这个问题。总之,希望有所帮助。

问候。

4

这里是我具有PIP问题的很长一段时间,当我有Python的几个版本安装后得知(有效尤其是对于可能正在使用BREW安装Python混合OS X用户。)

我承担大多数Python开发者都必须在他们的剧本的开头:

#!/bin/env python 

你可能会惊讶地发现,这是不一定相同Python作为你在命令行中运行一个>python

为了确保您安装使用正确点子实例为你的Python解释器,你需要运行像包:

>/bin/env python -m pip install --upgrade mymodule 
+0

真棒。这解决了我的问题。 – 2016-09-28 10:47:11

+0

我想你的意思是'/ usr/bin/env' for OSX – 2017-01-05 02:07:38

3

没有其他的解决方案是为我工作,所以我尝试:

pip uninstall <module> && pip install <module> 

这为我解决了。你的旅费可能会改变。

0

对我来说,问题是,我在文件中有奇怪的配置设置pydistutils.cfg

尝试运行 rm ~/.pydistutils.cfg