gpt4 book ai didi

macos - PyCharm Python 3.4 问题 : unresolved reference

转载 作者:行者123 更新时间:2023-12-04 09:39:35 27 4
gpt4 key购买 nike

我的 PyCharm 有问题。在我将 Python 从 3.3.5 更新到 3.4 之后,我在 PyCharm 中出现了以下形式的恼人错误:

from multiprocessing import Queue, Process

PyCharm 下划线 QueueProcess以红色显示并显示 Unresolved reference 。该代码实际上在命令行和 PyCharm 内部都运行良好。这些类的代码完成似乎也被破坏了。

我怀疑 PYTHONPATH 有问题,但我不确定如何解决它。

系统详细信息:Mac OS X 10.9.2、通过 Homebrew 安装的 Python 3.4、Pycharm 3.1.1

最佳答案

这不是 PYTHONPATH 的问题。如果我们查看 multiprocessing\__init__.py,我们会看到以下内容:

#
# Copy stuff from default context
#

globals().update((name, getattr(context._default_context, name))
for name in context._default_context.__all__)
__all__ = context._default_context.__all__

值得注意的是,文件中没有任何看起来像队列、进程等的内容。

现在这是什么 context._default_context ?如果我们查看 multiprocessing\context.py,我们会看到
class BaseContext(object):
...
def Queue(self, maxsize=0):
'''Returns a queue object'''
from .queues import Queue
return Queue(maxsize, ctx=self.get_context())

所以实际上,Queue 从来没有在模块本身中定义,而是通过一些动态代码,在运行时根据用户的操作系统正确设置。这就是为什么 Pycharm 不知道 multiprocessing 模块中有 Queue 和 Process 类的原因。

也许您可以提交错误报告并尝试让他们有选择地运行代码以找出这些动态名称或在此处创建异常并提出一些解决方法来告诉 Pycharm 实际上存在 Queue/Process 类,但这似乎是将在他们的优先级列表中排名靠后。所以你可能只需要忍受它。 (在同一条船上)

关于macos - PyCharm Python 3.4 问题 : unresolved reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22672024/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com