不能从六点进口任何东西。这两行都会产生错误:
from six.moves.urllib.request import urlretrieve-> Unresolved reference "urlretrieve"
from six.moves import cPickle as pickle-> Unresolved reference "cPickle"
OSX 10.11.5IntelliJ 2016.1.2,PyCharm 2016.1.3,Python2.7.11,六个1.10.0。
我为修复所做的(按PyCharm shows unresolved references error for valid code和其他帖子):
_
$ sudo pip install -U six
Requirement already up-to-date: six in /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.10.0-py2.7.egg我尝试过的Python SDK:
Python 2.7.11 (/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7)
Python 3.5.1 (/Library/Frameworks/Python.framework/Versions/3.5/bin/python3.5)
Python 2.7.10 (/usr/local/bin/python2.7)什么都没用。我们欢迎你帮忙!谢谢。
-2016年5月23日更新
运行“从six.moves.”从命令行导入行不会产生错误。命令行调用Python2.7.11。PyCharm也在使用Python2.7.11,而PyCharm也显示了六个可用-参见第一个屏幕截图。项目中没有.pyc文件,只有main.py。

奇怪的是,main.py在PyCharm中运行时没有错误;"Hello“行可以打印(参见第二个屏幕快照)。

此屏幕截图显示设置中的项目解释器:

我还是很困惑。
-2016年5月24日更新
import six在代码和python中都没有出错,在执行之后,使用了6.文件= /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/six-1.10.0-py2.7.egg/six.pyc。但是,PyCharm IDE仍然显示six.moves导入行中的错误。
发布于 2016-09-21 15:25:35
这个问题似乎是由this one回答的(我不知道如何将这个问题标记为重复)。
因此,不幸的是,由于“六个”模块的动态特性,没有简单的解决方案,除非您为这个模块实现自己的python框架(这不是向前的)。
发布于 2016-05-21 16:54:12
six只安装在/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7上,所以只有在PyCharm/IntelliJ中使用该解释器时,它才能工作
注意,如果您创建了一个新的虚拟环境,则必须分别在其中安装six。
如果PyCharm/IntelliJ给出了这些警告,但代码实际上正在运行--这只是PyCharm的缓存问题,您可以安全地忽略它--下一个缓存重建PyCharm将更新其缓存。
发布于 2016-12-13 07:41:55
您可以使用导入6代替从six.moves导入cPickle,然后使用six.moves.cPickle。
对我来说很管用。
https://stackoverflow.com/questions/37365625
复制相似问题