Python帮助('modules')命令在IDLE(idle.pyw)中抛出WindowsError但不抛出命令行提示符(python.exe)

时间:2013-04-15 14:03:33

标签: python windows-7 numpy arcgis python-idle

如果我在python.exe命令提示符下键入以下内容......

>>>help('modules')

...我按预期获得了可用模块的列表。

但是当我在IDLE环境(idle.pyw)中键入相同的内容时,会抛出错误:

Traceback (most recent call last):
File "<pyshell#1>", line 1, in <module>
    help('modules')
File "C:\Python27\ArcGIS10.1\lib\site.py", line 467, in __call__
  return pydoc.help(*args, **kwds)
File "C:\Python27\ArcGIS10.1\lib\pydoc.py", line 1727, in __call__
  self.help(request)
File "C:\Python27\ArcGIS10.1\lib\pydoc.py", line 1766, in help
  elif request == 'modules': self.listmodules()
File "C:\Python27\ArcGIS10.1\lib\pydoc.py", line 1887, in listmodules
  ModuleScanner().run(callback, onerror=onerror)
File "C:\Python27\ArcGIS10.1\lib\pydoc.py", line 1938, in run
  for importer, modname, ispkg in pkgutil.walk_packages(onerror=onerror):
File "C:\Python27\ArcGIS10.1\lib\pkgutil.py", line 105, in walk_packages
  for importer, name, ispkg in iter_modules(path, prefix):
File "C:\Python27\ArcGIS10.1\lib\pkgutil.py", line 147, in iter_modules
  for name, ispkg in iter_importer_modules(i, prefix):
File "C:\Python27\ArcGIS10.1\lib\pkgutil.py", line 211, in iter_modules
  for fn in os.listdir(path):
WindowsError: [Error 5] Access is denied: 'C:\\WINDOWS\\system32\\Msdtc/*.*'

为什么Windows对IDLE说“拒绝访问”而不是命令行?我尝试在IDLE上使用“以管理员身份运行”而没有成功。我需要以某种方式重新配置IDLE吗?

有关信息:

我安装的Python 2.7.2(在Windows 7 64位计算机上运行的32位版本)与ArcGIS 10.1捆绑在一起,它使用Python作为脚本语言和某些数字操作(通过Numpy)。这可能与提示和IDLE中的不同行为有关吗?

根Python目录是:C:\Python27\ArcGIS10.1\

IDLE已安装在C:\Python27\ArcGIS10.1\Lib\idlelib\idle.pyw

Python命令提示符安装在:C:\Python27\ArcGIS10.1\python.exe

1 个答案:

答案 0 :(得分:0)

我刚刚在2.7.8和3.4.2中成功运行help('modules')。响应取决于sys.path。它似乎比ArcGIS将C:/ Windows / System32 / Msdtc添加到路径中,但您可以在运行帮助之前进行检查。在任何情况下,即使以管理员身份运行,也无法通过Windows资源管理器访问该文件夹。它需要通过“安全选项卡”进行特殊用户操作。由于MS不希望我在那里戳,我没有追求访问。我不知道为什么控制台和空闲之间存在差异。