模块未找到:six。

11
安装了transifex并执行了./manage.py后,出现以下错误信息:
Error: No modules named six.

Python Six 已经安装在虚拟环境中(来自https://pypi.python.org/pypi/six) Django 版本为 1.4。

如果需要帮助,请联系我! 谢谢&最好的问候, 迈克尔


1
你确定在出现错误时处于虚拟环境中吗?另外,你使用了什么任务? - J. Ghyllebert
1
你能否尝试在虚拟环境中打开Python shell,并运行 import six 命令? - pistache
可能有某些东西正在尝试导入 django.utils.six,但它只存在于 Django >= 1.5 中? - Jim Garrison
已完成。如果我打开shell,就会看到正确的链接到six -><module 'six' from '/root/txenv/local/lib/python2.7/site-packagespy2.7.egg/six.pyc'>。 - Michael Brueckler
@jim:那没有选择,Django 1.5中的verify_exists参数已被弃用。Transifex没有它将无法工作;( - Michael Brueckler
显示剩余2条评论
3个回答

13

嗨,谢谢但这不起作用。刚发现,Transifex只能与Django 1.3.1一起使用。所以我安装了Django 1.3.1,但是出现了相同的错误。在Python shell中也没有“import six”的效果... - Michael Brueckler
你能发布回溯信息吗?例如:./manage.py validate --traceback - bmihelac
嗨。同样的错误,它只是说:/usr/local/lib/python2.7/dist-packages/transifex-1.2.1-py2.7.egg/transifex# ./manage.py validate --traceback 错误:无法导入名称six。 - Michael Brueckler
1
Traceback 显示 django_filters 抛出了异常。Django-filters 需要 Django 1.4.5+,您可以尝试安装一些旧版本。 - bmihelac
1
先生,您是本周的人物之一 ;). 使用旧版本的django-filters(0.5.1),它可以正常工作!谢谢。 - Michael Brueckler
显示剩余2条评论

1
我刚遇到了同样的问题。似乎transifex包中的依赖项没有正确列出(它依赖于Django == 1.3.1和django-filter>=0.1,但是django-filter 0.6依赖于Django>=1.4.5)。
我通过安装较旧版本的django-filter(0.5.4)来解决问题,而不是使用pypi提供的软件包(在pypi上似乎只有0.6和0.1版本),而是直接从这里下载0.5.4版本的发行版。

https://github.com/alex/django-filter/releases

然后按照惯例安装:

python setup.py install


记录一下:这些都是Transifex的依赖项,我必须手动安装(在卸载pip自动安装的版本后),因为自动安装的那些不正确:django-filter==0.5.4 django-haystack==1.2 django-piston==0.2.2 - Augusto Destrero

-4

这应该能解决你的问题:

$ easy_install six

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接