找不到“六”,但它已经安装好了

时间:2014-08-07 14:36:28

标签: python centos six-python

我安装了six(甚至重新安装了它)。

$ pip show six
---
Name: six
Version: 1.7.3
Location: /usr/lib/python2.6/site-packages
Requires: 

但是当我尝试运行csvcut时,它无法找到它。

$ csvcut -n monster.csv
Traceback (most recent call last):
  File "/usr/bin/csvcut", line 5, in <module>
    from pkg_resources import load_entry_point
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 2655, in <module>
    working_set.require(__requires__)
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 648, in require
    needed = self.resolve(parse_requirements(requirements))
  File "/usr/lib/python2.6/site-packages/pkg_resources.py", line 546, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: six>=1.6.1

以下是csvcut的相关内容:

#!/usr/bin/python
# EASY-INSTALL-ENTRY-SCRIPT: 'csvkit==0.8.0','console_scripts','csvcut'
__requires__ = 'csvkit==0.8.0'
import sys
from pkg_resources import load_entry_point

if __name__ == '__main__':
    sys.exit(
        load_entry_point('csvkit==0.8.0', 'console_scripts', 'csvcut')()
    )

这是在CentOS上。

3 个答案:

答案 0 :(得分:19)

使用pip 卸载并重新安装six 无法正常工作

sudo pip uninstall six
sudo pip install six

但是,我能够使用easy_install解决问题:

easy_install --upgrade six

答案 1 :(得分:1)

原因是当您使用PIP安装Six时,Six库的位置未添加到Pythons Path,因此在尝试使用这些命令时,python无法找到它们。使用Easy_Install安装没有这个问题,当它安装六个时它自动更新python路径变量,所以python可以找到库。

通过Easy_Install安装,然后解决此问题,但您也可以将位置添加到python路径变量。

答案 2 :(得分:0)

我今天遇到了同样的问题,用pip重新安装不起作用,我不能用easy_install做它,因为它是一个自定义包 解决方案是将 PYTHONPATH 变量指向包含包的 site-packages

export PYTHONPATH=$PYTHONPATH:/path/to/sites-package

如果您使用虚拟环境

,您将面临此问题
相关问题