【问题标题】:Issues with Unresolved references未解决参考的问题
【发布时间】:2016-02-04 12:18:33
【问题描述】:

我已经阅读了很多链接,但我找不到一个链接准确地列出了需要遵循的步骤。

问题

> I have the following directory structure (a sample). 
  |MAINDIR
  |script1.py
> |script2.py 
  |COMMONSCRIPTS-------|script3.py                    
> |                    |script4.py                     
  |                    |script5.py 

> |TASK1---------------|script6.py 
  |                    |script7.py

我正在尝试从 script6.py 导入 script3.py 中的函数。
但是我在导入部分看到了“未解决的引用”的问题。

我的尝试

这就是我所做的。
我将“MAIN DIR”设置为“Sources Root”,因此它被标记为蓝色而不是米色。
然后我使缓存失效并重新启动了 PyCharm,但它仍然没有解决我的问题。

有人可以提供我可以尝试解决此问题的步骤列表吗?

顺便说一句,我正在运行 PyCharm Community Edition 5.0.4

【问题讨论】:

  • 你的代码是什么样的?从我现在看到的情况来看,您将无法导入“COMMON SCRIPTS”,因为它包含一个空格。
  • 抱歉,这是一个简单的草图。我已经更正了那些空格。它只是为了说明我面临的问题而创建的
  • 在应该是 python 模块的目录中是否有 __init__.py 文件?
  • 是的,我愿意 :) 但我已经设法找到解决这个问题的方法

标签: python pycharm


【解决方案1】:

TL;DR - 你的目录不是 Python 模块,你的导入命名空间可能是错误的。通过像这样添加__init__.py,也可以轻松地将 Dirs 制作成 Python 模块:

mypkg/
 __init__.py
 s1.py
 common/
   __init__.py
   s3.py
 task1/
   __init__.py
   s6.py 

mypgk/common/task1/ 显然是目录)

s6.py:

    from mypkg.common.s3 import myfun

注意命名空间规范:mypkg.common.s3

【讨论】:

    猜你喜欢
    • 2015-11-12
    • 2014-02-09
    • 1970-01-01
    • 2021-03-28
    • 2014-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多