问题标签 [pythonw]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
179 浏览

windows - pythonw.exe 在 PsychoPy 中使用 pyo 时崩溃

我正在 PsychoPy(Windows 7 上的 v1.84.2)中进行实验,这需要短音。围绕声音生成的代码行是:

一旦绘制了 visual.TextStim,PsychoPy 就会崩溃(我在输出窗口中得到 1-3)。崩溃是“pythonw.exe 已停止工作”弹出窗口,它强制关闭窗口。如果没有声音生成,实验可以顺利进行。脚本中的其他地方播放了音调,但崩溃发生在作业处。此外,代码在 OSX 上运行。

我见过人们之前遇到过 pyo 兼容性问题,以及 pythonw.exe 崩溃。有没有人有这种组合,或者找到了解决方法?

谢谢

0 投票
0 回答
387 浏览

python-2.7 - sys.stdout 导致“pythonw.exe”崩溃的最佳解决方案

这(我认为是一个错误)困扰了我很长一段时间。在对该主题进行了大量搜索之后,我找到了一个不错的解决方案,但我对此并不满意。

错误如下;

经过一番研究,我发现这是由于 python2 试图强制 sys.stdout 甚至知道上下文无处可去。这已在 python3 中修复。

该程序 (main.pyw) 是我的游戏的 Tkinter 启动器,它从 foo.py 捕获控制台输出。foo2.py 被 foo.py 使用。main 的控制台从未使用过,所以显而易见的选择是隐藏它(我个人有一台小型笔记本电脑,所以控制台是太空猪/眼痛)

这是我的临时解决方案:

这工作正常。Python.exe 启动,控制台打开,控制台关闭,然后 Tkinter 启动,崩溃停止。但我感觉这不是正确的解决方案,你的想法是什么?有没有更好的方法来隐藏控制台而不使用 pythonw?

编辑:我已经尝试重定向 sys.stdout,而且 Print() 对另一个脚本很重要,所以我不想碰它们。

0 投票
1 回答
519 浏览

python - Python 在破坏 Tkinter 窗口时崩溃

我是一名软件开发专业的学生,​​我正在用 Python 开发一个应用程序(我的第一个应用程序!)用于学习目的。它运行得相当好,而且我几乎可以使用我想要使用的所有功能。

该程序的简短说明:这是一个记录体育俱乐部成员的管理程序。所以它具有添加成员、列出成员等基本功能。

为了完成它,它还需要一个删除成员的功能。这一直很好用,但我很少使用该功能。

现在,在我修改了一个ttk.Treeview()对象后,它现在按姓氏排序,我添加了一个新成员来查看它是否像它应该的那样排序。它做了!

现在我想删除该成员,但由于某种原因,它不再起作用。

它使 Python 崩溃。它不仅使应用程序崩溃,没有错误,只是简单的“Pythonw.exe 已停止工作”。

这是属于该函数的所有代码:

on_return功能关闭所述窗口并重新打开主菜单。

现在在delforsure(zeid, usure, addwindow)它锁定就行了usure.destroy()

它不再打印'usure destroy'这行了,我把它放在那里看看它锁在哪里。

它没有给出任何错误,Python 本身只是崩溃了。

如果我搬家

在 下on_return(done),一直到底部,它确实关闭了窗口并返回到主菜单,但主菜单将被绘制成图形扭曲,之后很快仍然崩溃。

我真的不明白发生了什么。

有人可以帮我追踪问题吗?

0 投票
0 回答
5365 浏览

python - 蟒蛇与蟒蛇

手册页描述pythonw2.7如下:

姓名

pythonw -- 运行允许 GUI 的 python 脚本

但是,手册页也说明了这一点:

实际上,从 Python 2.5 开始,普通的 python 也允许 GUI 访问,所以现在 python 和 pythonw 可以互换。

现在 python 和 pythonw 之间存在什么差异(如果有的话)?我似乎找不到任何关于它的信息。

0 投票
0 回答
142 浏览

python - Pythonw.exe:找不到驱动器弹出窗口

我正在尝试编写一个程序来检测驱动器是否存在。我的代码可以工作,但是当我运行程序时,我从 PythonW.exe 得到一个烦人的弹出窗口。

我尝试过使用os.path.exists(path)而不是os.path.isdir(path),但这也不起作用。我只是想要一种禁用弹出窗口的方法。

0 投票
1 回答
308 浏览

python - Python pythonw子进程check_output不起作用

我有一个关于 pythonw 的问题。我正在制作一个应该在后台执行的程序。当它启动时,它应该发送计算机名、用户名和检查结果以查看程序是否具有管理员权限。这是客户端代码的相关部分:

这是应该接收它的服务器代码:

(打印行仅用于调试)所以这就是问题所在。当我执行客户端代码时client.py,一切正常,我得到这个输出:

['DESKTOP-#######', '######', '0']

并且代码可以继续。但是,当我按照client.pyw预期的方式执行程序时,我得到:

['']

所以我当然会得到一个IndexError。我猜 subprocess.check_output 出了点问题。正常吗?我可以用什么替换它,所以它在后台工作?

(我正在使用python 3.5)

谢谢

0 投票
3 回答
6377 浏览

python - 为什么 Anaconda for Windows 不能正确安装?

Anaconda2 和 3 正在安装,没有错误。我重新启动,因为安装程序提示我这样做。当我打开Anaconda Prompt,或未找到python时。查看文件夹,我找不到预期和文件。怎么了?pythonwactivate.batAnaconda[2|3].exe.bat

我还注意到conda update --all想要更新许多库并最终出错。

0 投票
0 回答
1084 浏览

python - 使用 pythonw 运行 PIP 安装使控制台脚本使用 pythonw 而不是 python

(Windows 7 专业版、python 2.7、PIP 9.0.1)

在客户端工作站上部署我们的工具的过程中,我使用pip安装自定义 python 库。由于它的打包方式,我不能有一个pip.exe,所以我运行该pip模块pythonw以避免弹出控制台。

mylib在文件mylibutil中定义了一个控制台入口点(我们称之为)。setup.py所以 amylibutil.exe在安装时生成,这很好。

但是当我运行它时,我的控制台没有任何反应。解析生成的可执行文件的内容后,我看到用于运行脚本的 python 是c:\installdir\pythonw.exe,因此不是控制台脚本的正确版本,但确实与调用 PIP 时使用的相同。

有什么解决方法吗?这是 PIP 的特定胜利错误吗?

我可以在安装时使用python而不是pythonw在安装时使用,这没关系,但我知道弹出控制台有时会吓到一些用户。

注意:我发现这个技巧可以通过非控制台 VBS 脚本包装我的 python 调用。所以这是一种解决方法。但是,如果可能的话,我希望它能让事情变得更简单。

0 投票
0 回答
334 浏览

python - pythonw子进程不能调用其他版本的python

在我开始之前,关于我的环境的一些说明:通过 miniconda 安装的 python 2.7.14、macOS 10.13.3。

问题

我正在尝试analyze.py在 python 中编写一个数据处理管道(调用它),它调用几个不同的程序。其中一个程序,EMAN2使用它自己的 python 环境来运行(例如,位于~/EMAN2/bin/python)。在命令行中,对 eman2 的调用可能如下所示:

wheree2buildstacks.py使用文件顶部的标准类型公式指定它自己的 python 环境#!/Users/<username>/EMAN2/bin/python(注意,有很多这些不同的 .py 文件要运行,我只是使用一个名称作为示例)。

在 python 中,我为这些调用使用了 subprocess.Popen 构造。一个非常简单的例子是:

为简单起见,我替换了实际的参数和用户名。

如果这就是我正在做的一切,它工作正常。我可以从命令行运行python analyze.py,它运行 EMAN2 没有问题。

然而,这个管道被包裹在一个 GUI(基于 wxpython)中。所以我必须使用pythonw来运行我的程序。当我尝试这样做时:

它无法正确运行 EMAN2 脚本,出现错误:

这向我表明它正在使用我的 miniconda python 而不是~/EMAN2/bin/python运行脚本。

(注意:如果有人使用 EMAN2,我可以为您提供完整的参数列表和输入文件。但请放心,这不是问题,我可以从命令行运行我正在使用的命令)

我试过的

我已经尝试了几种不同的方法来解决这个问题。最简单的是指定要在命令中使用的 python:

那没有用,并因同样的错误而失败。

我试过在 shell=False 模式下使用 Popen

或者

两者都失败并出现相同的错误。

我试过指定可执行文件:

这给出了一个不同的错误:

这让我认为参数没有正确传递给脚本,而是传递给 python 本身(我可能并不真正理解可执行设置在这里的作用)。

我试过设置环境变量:

然后在上述任何命令中将其传递给 subprocess.Popen 作为env=my_env. 这失败并出现相同的错误。

在这一点上,我几乎没有想法,希望有人能提供帮助。同样,这仅发生在pythonw,而不是python

我读过的寻找解决方案的东西

我在 stackoverflow 上找不到与此问题完全匹配的任何内容。我看过的东西:

使用另一个版本的 python 对程序进行子处理

  • 从来没有成功回答过。

使用“pythonw”(而不是“python”)运行应用程序时找不到模块

  • 问题不在于我使用的是哪个 python/pythonw,两者都来自 miniconda。

Python 子进程正在运行不同版本的 Python

  • 这与我的问题完全相反,所以用处不大。

https://github.com/ContinuumIO/anaconda-issues/issues/199

  • 这表明 miniconda pythonw 有点像 hack,可能会导致各种问题,但不能直接提供解决方案(可以说强烈建议不要使用其他版本的 python)。

修改环境的 Python 子进程/Popen

Python 脚本未在 crontab 中运行调用 pysaunter

  • 这些导致我尝试修改环境变量。

最后说明

  • 更改正在使用的 python 发行版是可能的,但非常不是理想的解决方案。我正在写一些可以在几个不同的环境(包括我还没有测试过的 Linux 和 Windows)中运行的东西,并且由不是我的人运行,所以我需要一个更安全的解决方案。

非常感谢人们可以提供的任何帮助。

0 投票
1 回答
2036 浏览

python - 如何在 Windows 10 进程中运行 python 'pyw' 文件

大家好,

我完成了站点阻止程序的编写,然后我通过附加“w”重命名了“py”文件,双击运行它但该进程没有显示在任务管理器中。我尝试了几次,但没有任何结果。请注意,我使用的是 Win 10 操作系统。

您有什么建议可以帮助解决这个问题,例如在任务管理器中显示为 pythonw.exe 进程?