经过几个小时的调试和试错,我发现导入两个独立的 Python 模块导致其中一个模块中的一个函数停止工作。
import arcpy
# works
sde_conn = arcpy.ArcSDESQLExecute(r"C:\temp\test.sde")
然而:
import arcpy
import rtree
# fails
sde_conn = arcpy.ArcSDESQLExecute(r"C:\temp\test.sde")
两个Python模块是rtree和 ESRI 的 arcpy ,这两个我都在 Windows 上运行(问题出现在 Windows 7 和 Windows Server 2008 R2 上,以及 32 位和 64 位 Python 安装上)。
我logged the issue , 但我想知道一个模块破坏另一个模块功能的可能原因是什么?
我快速检查了全局变量,并修改了系统路径。两者都依赖于 DLL。
还有哪些其他因素可能造成影响?
最佳答案
它发生在使用时:
from (module) import *
如果两个模块都有同名的函数。 无耻地取自@karthikr
关于python - 一个 Python 模块如何破坏另一个模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17243040/