【问题标题】:Python help('modules') command throws WindowsError in IDLE (idle.pyw) but not command line prompt (python.exe)Python help('modules') 命令在 IDLE (idle.pyw) 中抛出 WindowsError 但不是命令行提示符 (python.exe)
【发布时间】:2013-04-07 16:31:11
【问题描述】:

如果我在 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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-26
      • 1970-01-01
      • 2019-05-28
      • 1970-01-01
      • 2018-04-26
      • 2017-05-23
      • 1970-01-01
      相关资源
      最近更新 更多