找不到“六”,但已安装
Posted
技术标签:
【中文标题】找不到“六”,但已安装【英文标题】:Can't find "six", but it's installed 【发布时间】:2014-09-30 20:37:18 【问题描述】:我已经安装了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 上。
【问题讨论】:
【参考方案1】:使用 pip 卸载并重新安装 six
没有工作
sudo pip uninstall six
sudo pip install six
但是,我能够使用 easy_install
解决问题:
easy_install --upgrade six
【讨论】:
我在使用 amazon Web 服务 (aws) 命令行工具时遇到问题,并且发现六个错误。这个解决方案奏效了……不知何故。这是一个错误吗?这个解决方案实际上是如何工作的? 注意:如果使用 virtual-env,请不要使用“sudo pip ...”。我刚刚犯了这个错误。它突破了虚拟环境:将“which pip”与“sudo which pip”进行比较。【参考方案2】:原因是当您使用 PIP 安装 Six 时,Six 库的位置未添加到 Pythons 路径中,因此在尝试使用命令时,python 无法找到它们。使用 Easy_Install 安装没有这个问题,当它安装六个时它会自动更新 python 路径变量,以便 python 可以找到该库。
如之前回答的那样通过 Easy_Install 安装可解决此问题,但您也可以将位置添加到 python 路径变量中。
【讨论】:
【参考方案3】:我今天遇到了同样的问题,用 pip 重新安装没有用,我不能用 easy_install 来做,因为它是一个自定义包 解决方案是将 PYTHONPATH 变量指向包含包的 site-packages
export PYTHONPATH=$PYTHONPATH:/path/to/sites-package
如果你使用虚拟环境,你会遇到这个问题
【讨论】:
以上是关于找不到“六”,但已安装的主要内容,如果未能解决你的问题,请参考以下文章