2013-04-15 60 views
1

如果我請在python.exe命令提示符下...Python的幫助( '模塊')命令拋出WindowsError在IDLE(idle.pyw),而不是命令行提示符(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

回答

0

我剛剛在2.7.8和3.4.2中成功運行了help('modules')。響應取決於sys.path。它看起來比ArcGIS將C:/ Windows/System32/Msdtc添加到路徑中,但您可以在運行幫助之前進行檢查。無論如何,即使以管理員身份運行,也無法通過Windows資源管理器訪問該文件夾。它需要通過「安全選項卡」進行特殊的用戶操作。由於MS不想讓我在那裏玩,所以我沒有追求獲取。我不知道爲什麼控制檯和Idle之間的區別。