Mik*_*ike 17 python installation winapi pywin32
安装后我想出了几个错误:
pywin32-217.win32-py2.7
我最近将ArcGIS升级到10.1,它使用的是Python 2.7(而不是ArcGIS 10.0附带的2.6)
当我在Windows 7 64位上运行安装程序时,它会安装,但会抛出以下消息:
在文件对象析构函数中关闭失败:
缺少sys.excepthook
丢失了sys.stderr
我有一个简单的python脚本从包含.pdf文件的文件夹打印到打印机,这些文件在升级之前有效
import arcpy, glob, win32api, os
pdfLoc = arcpy.GetParameterAsText(0)
try:
copies = int(arcpy.GetParameter(1))
except:
copies = 1
for pdfname in glob.glob(os.path.join(pdfLoc, "*.pdf")):
fullpath = os.path.join(pdfLoc, pdfname)
for copy in range(copies):
win32api.ShellExecute(0, "print", pdfname, None, ".", 0)
del fullpath
del pdfname
del pdfLoc
Run Code Online (Sandbox Code Playgroud)
现在,当我运行脚本时,我收到以下错误:
回溯(最近一次调用最后一次):文件"Z:\ ESRI\Python\Solstice_Tools_Scripts\Printer_Tools\Batch_Print_From_PDF_Only\BatchprintFromPDFOnly_Test.py",第34行,在win32api.ShellExecute(0,"print",pdfname,None,".", 0)错误:(31,'ShellExecute','连接到系统的设备无法运行.')
无法执行(BatchPrintFromPDFOnly2).
我一直在谷歌搜索并尝试了一些解决方案,比如在故障排除模式下运行可执行文件,但错误仍然存在.谁能提出可能导致这种情况的人?
作为旁注,我将公司中的4台计算机升级到新版本的python和ArcGIS,其中只有一台是抛出此错误.其余的工作正常.
谢谢,迈克
另一种解决方案是Mark Hammond 在pywin32邮件列表上的建议:
如果禁用用户访问控制(UAC),这似乎会发生 - 它是否已禁用?
无论哪种方式,尝试从安装目录的根目录运行"python scripts\pywin32_postinstall.py -install",事情应该完成注册 - 这应该修复你看到的下一个错误.
这对我来说很好.
小智 5
这些解决方案都没有帮助我(坐在Windows 10上).
但是当我运行c:\ python27\scripts\pywin32_postinstall.py -install时,我终于修复了它
安装完成后,您可以尝试再次运行安装程序,以确保为我工作.