一个Python模块如何打破另一个?

geo*_*ika 5 python python-module python-import

经过几个小时的调试和反复试验,我发现导入两个独立的Python模块导致其中一个函数停止工作.

import arcpy
# works
sde_conn = arcpy.ArcSDESQLExecute(r"C:\temp\test.sde")
Run Code Online (Sandbox Code Playgroud)

然而:

import arcpy
import rtree
# fails
sde_conn = arcpy.ArcSDESQLExecute(r"C:\temp\test.sde")
Run Code Online (Sandbox Code Playgroud)

这两个Python模块是rtree和ESRI的arcpy,我在Windows上运行这两个模块(问题出现在Windows 7和Windows Server 2008 R2以及32位和64位Python安装上).

记录了这个问题,但是我想知道一个模块在另一个模块中破坏功能的可能原因是什么?

我快速检查了全局变量,并修改了系统路径.两者都依赖于DLL.

还有哪些其他因素可以解决?

And*_* GS 2

使用时会发生:

from (module) import * 
Run Code Online (Sandbox Code Playgroud)

如果两个模块具有相同名称的函数。无耻地摘自@karthikr