1

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

我正在尝试在 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 中的变量(因此它被正确导入)。我应该做哪些调整才能完成这项工作?

在此处输入图像描述

4

1 回答 1

1

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

这可能会被更改以在我们的源分析中考虑本地路径修改,尽管通常像这样修改 sys.path 并不是一个好方法,因为添加的路径可能会破坏您稍后导入的其他模块(如果他们正在尝试)从另一个位置导入一个名为 testlib 的模块。这就是为什么我们只在主调试文件中寻找这样的修改。

您可能希望通过在其中添加一个名为init .py 的文件来将 MyLibs 制作成一个包,然后您可以这样做:

从 MyLibs 导入 testlib

无需在 Wing IDE 中进行任何额外配置即可解决此问题。

于 2014-10-17T13:58:09.607 回答