Python Windows上的tkFileDialog.askopenfilename()将所有输出重定向到win32trace
我正在Windows 10上通过Anaconda运行Python 2.7.13,并尝试运行以下代码Python Windows上的tkFileDialog.askopenfilename()将所有输出重定向到win32trace,python,windows,tkinter,anaconda,Python,Windows,Tkinter,Anaconda,我正在Windows 10上通过Anaconda运行Python 2.7.13,并尝试运行以下代码 import Tkinter, tkFileDialog root = Tkinter.Tk() root.withdraw() file_path = tkFileDialog.askopenfilename() (来源:) 代码本身工作正常,但是当我运行最后一个命令时,会出现消息将输出重定向到Win32 Trace remote collector,正如它所说的,所有输出都被重定向,因此
import Tkinter, tkFileDialog
root = Tkinter.Tk()
root.withdraw()
file_path = tkFileDialog.askopenfilename()
(来源:)
代码本身工作正常,但是当我运行最后一个命令时,会出现消息将输出重定向到Win32 Trace remote collector
,正如它所说的,所有输出都被重定向,因此我无法打印()等
有没有办法禁用此行为?此问题与文件同步服务有关。卸载它可以修复问题,并恢复所需的行为 多亏了一条类似的线索,我才弄明白 我将尝试联系odrive开发人员,看看他们是否意识到这个问题,以及是否有解决方案
编辑:我在odrive论坛上创建了一个bug报告,开发人员正在研究它:这个问题与文件同步服务有关。卸载它可以修复问题,并恢复所需的行为 多亏了一条类似的线索,我才弄明白 我将尝试联系odrive开发人员,看看他们是否意识到这个问题,以及是否有解决方案
编辑:我已经在odrive论坛上创建了一个bug报告,开发人员正在研究它:我不知道这个程序是如何连接到我的Python安装的(我甚至制作了一个新的Anaconda环境进行测试),但它似乎在某种程度上破坏了Python。卸载odrive完全解决了这个问题。对于任何好奇的人来说,这个问题可以通过模块重现。或者更直接的方法-只需添加行
import win32traceutil
,您将看到相同的消息(您好odrive开发者!),您的输出和错误流将被重定向。然而,这些流是可关闭的,但不幸的是,没有自动选项(afaik)恢复到原始状态,只有手动选项。所以,弱的解决方案是将对话函数包装到另一个函数,该函数在返回时将流恢复到原始状态。此外,还可以找到该模块的代码。很明显,导入时会执行SetupForPrint()
。感谢您的解释。不过,我不明白安装odrive是如何在Python安装中实现这一点的。有什么想法吗?在卸载之前,我试着查看我的PATH变量,但我找不到任何与odrive相关的东西。我不知道该程序是如何连接到我的Python安装的(我甚至制作了一个新的Anaconda环境进行测试),但它似乎在某种程度上破坏了Python。卸载odrive完全解决了这个问题。对于任何好奇的人来说,这个问题可以通过模块重现。或者更直接的方法-只需添加行import win32traceutil
,您将看到相同的消息(您好odrive开发者!),您的输出和错误流将被重定向。然而,这些流是可关闭的,但不幸的是,没有自动选项(afaik)恢复到原始状态,只有手动选项。所以,弱的解决方案是将对话函数包装到另一个函数,该函数在返回时将流恢复到原始状态。此外,还可以找到该模块的代码。很明显,导入时会执行SetupForPrint()
。感谢您的解释。不过,我不明白安装odrive是如何在Python安装中实现这一点的。有什么想法吗?在卸载之前,我试图查看我的PATH变量,但找不到任何与odrive相关的内容。