python - 从另一个文件夹导入 Python 文件时无法获得建议 (Wing IDE)

标签 python python-2.7 wing-ide

我有一个名为 caller.py 的 Python 文件,位于 C:\Temp。我还有另外两个 Python 文件:位于 C:\Temp 的 local_teSTLib.py 和位于 C:\Temp\MyLibs 的 teSTLib.py

我正在尝试在 Wing IDE Pro 中导入这两个文件。

import sys
sys.path.append(r'C:\Temp\MyLibs')
import testlib #located in C:\Temp\MyLibs
import local_testlib #located in C:\Temp

#check suggestions by Wing
local_testlib. #get suggestions as list of variables etc. from the file
testlib. #don't get any suggestions

print testlib.myvar #get variable value printed OK

我只得到了关于 local_teSTLib 的建议,没有得到关于 teSTLib 的建议(见下图)。不过,我确实可以访问 teSTLib.py 中的变量(因此它可以正确导入)。我应该做哪些调整才能完成这项工作?

enter image description here

最佳答案

要解决此问题,您可以将 C:\Temp\MyLibs 添加到 Wing 项目属性中的 Python 路径(或 Wing 101 中的“配置 Python”对话框)。或者在 Wing Personal 或 Pro 中,您可以将该文件设置为主调试文件,尽管我刚刚注意到,由于重新扫描文件明显失败,您需要重新启动 Wing,该方法才能起作用。

这可能会被更改以在我们的源分析中考虑本地路径修改,尽管一般来说像这样修改 sys.path 并不是一个好方法,因为添加的路径可能会搞砸您稍后导入的其他模块,如果他们试图从另一个位置导入一个名为 teSTLib 的模块。这就是为什么我们只在主调试文件中查找类似的修改。

您可能想通过在其中添加一个名为 init.py 的文件来将 MyLibs 放入一个包中,然后您可以执行以下操作:

从 MyLibs 导入 teSTLib

这解决了这个问题,无需在 Wing IDE 中进行任何额外配置。

关于python - 从另一个文件夹导入 Python 文件时无法获得建议 (Wing IDE),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26422241/

相关文章:

python - paho mqtt 中的 on_message 是否在新线程中运行?

python - 设置 WingIDE 来调试 Flask 项目

python - 如何把一个句子串拆分成单词,还要让标点符号成为一个单独的元素

python - 为什么使用下划线( '_')作为变量名?

django - 如何使用大规模数据限制 Django Admin.TabularInline 中的查询

python - 组合可能的不同数据格式列表

Python去除重复的名字

python - 在python 3.8.3上的IDE中导入pygame失败

python - 使用 Wing IDE 将数据从 dbf 导入到 excel 电子表格

python - 在 keras 中可视化训练神经网络的权重