python - 一个 Python 模块如何破坏另一个模块?

标签 python python-import python-module

经过几个小时的调试和试错,我发现导入两个独立的 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/

相关文章:

python - Scrapy 与多处理兼容吗?

Python paho mqtt客户端不会同时发布和订阅

python - 将模块内的所有函数和类导入到类python中

python-3.x - python3 找不到我可以用 python2 导入的模块

python - 501 错误 ScraPy - HTTP 状态代码未处理或不允许

python - 如何在 Django 中使用 FileField 测试表单?

python - 从子目录导入模块

python - 从不同的导入创建相同类的两个对象使它们看起来像不同的类

python - 用本地目录覆盖 virtualenv 中的模块

Python 模块 - 运行时会发生什么?