问题标签 [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.
windows - pythonw.exe 在 PsychoPy 中使用 pyo 时崩溃
我正在 PsychoPy(Windows 7 上的 v1.84.2)中进行实验,这需要短音。围绕声音生成的代码行是:
一旦绘制了 visual.TextStim,PsychoPy 就会崩溃(我在输出窗口中得到 1-3)。崩溃是“pythonw.exe 已停止工作”弹出窗口,它强制关闭窗口。如果没有声音生成,实验可以顺利进行。脚本中的其他地方播放了音调,但崩溃发生在作业处。此外,代码在 OSX 上运行。
我见过人们之前遇到过 pyo 兼容性问题,以及 pythonw.exe 崩溃。有没有人有这种组合,或者找到了解决方法?
谢谢
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() 对另一个脚本很重要,所以我不想碰它们。
python - Python 在破坏 Tkinter 窗口时崩溃
我是一名软件开发专业的学生,我正在用 Python 开发一个应用程序(我的第一个应用程序!)用于学习目的。它运行得相当好,而且我几乎可以使用我想要使用的所有功能。
该程序的简短说明:这是一个记录体育俱乐部成员的管理程序。所以它具有添加成员、列出成员等基本功能。
为了完成它,它还需要一个删除成员的功能。这一直很好用,但我很少使用该功能。
现在,在我修改了一个ttk.Treeview()
对象后,它现在按姓氏排序,我添加了一个新成员来查看它是否像它应该的那样排序。它做了!
现在我想删除该成员,但由于某种原因,它不再起作用。
它使 Python 崩溃。它不仅使应用程序崩溃,没有错误,只是简单的“Pythonw.exe 已停止工作”。
这是属于该函数的所有代码:
该on_return
功能关闭所述窗口并重新打开主菜单。
现在在delforsure(zeid, usure, addwindow)
它锁定就行了usure.destroy()
它不再打印'usure destroy'这行了,我把它放在那里看看它锁在哪里。
它没有给出任何错误,Python 本身只是崩溃了。
如果我搬家
在 下on_return(done)
,一直到底部,它确实关闭了窗口并返回到主菜单,但主菜单将被绘制成图形扭曲,之后很快仍然崩溃。
我真的不明白发生了什么。
有人可以帮我追踪问题吗?
python - 蟒蛇与蟒蛇
手册页描述pythonw2.7
如下:
姓名
pythonw -- 运行允许 GUI 的 python 脚本
但是,手册页也说明了这一点:
实际上,从 Python 2.5 开始,普通的 python 也允许 GUI 访问,所以现在 python 和 pythonw 可以互换。
现在 python 和 pythonw 之间存在什么差异(如果有的话)?我似乎找不到任何关于它的信息。
python - Pythonw.exe:找不到驱动器弹出窗口
我正在尝试编写一个程序来检测驱动器是否存在。我的代码可以工作,但是当我运行程序时,我从 PythonW.exe 得到一个烦人的弹出窗口。
我尝试过使用os.path.exists(path)
而不是os.path.isdir(path)
,但这也不起作用。我只是想要一种禁用弹出窗口的方法。
python - Python pythonw子进程check_output不起作用
我有一个关于 pythonw 的问题。我正在制作一个应该在后台执行的程序。当它启动时,它应该发送计算机名、用户名和检查结果以查看程序是否具有管理员权限。这是客户端代码的相关部分:
这是应该接收它的服务器代码:
(打印行仅用于调试)所以这就是问题所在。当我执行客户端代码时client.py
,一切正常,我得到这个输出:
['DESKTOP-#######', '######', '0']
并且代码可以继续。但是,当我按照client.pyw
预期的方式执行程序时,我得到:
['']
所以我当然会得到一个IndexError。我猜 subprocess.check_output 出了点问题。正常吗?我可以用什么替换它,所以它在后台工作?
(我正在使用python 3.5)
谢谢
python - 为什么 Anaconda for Windows 不能正确安装?
Anaconda
2 和 3 正在安装,没有错误。我重新启动,因为安装程序提示我这样做。当我打开Anaconda Prompt
,或未找到python
时。查看文件夹,我找不到预期和文件。怎么了?pythonw
activate.bat
Anaconda[2|3]
.exe
.bat
我还注意到conda update --all
想要更新许多库并最终出错。
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 调用。所以这是一种解决方法。但是,如果可能的话,我希望它能让事情变得更简单。
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 上找不到与此问题完全匹配的任何内容。我看过的东西:
- 从来没有成功回答过。
使用“pythonw”(而不是“python”)运行应用程序时找不到模块
- 问题不在于我使用的是哪个 python/pythonw,两者都来自 miniconda。
- 这与我的问题完全相反,所以用处不大。
https://github.com/ContinuumIO/anaconda-issues/issues/199
- 这表明 miniconda pythonw 有点像 hack,可能会导致各种问题,但不能直接提供解决方案(可以说强烈建议不要使用其他版本的 python)。
Python 脚本未在 crontab 中运行调用 pysaunter
- 这些导致我尝试修改环境变量。
最后说明
- 更改正在使用的 python 发行版是可能的,但非常不是理想的解决方案。我正在写一些可以在几个不同的环境(包括我还没有测试过的 Linux 和 Windows)中运行的东西,并且由不是我的人运行,所以我需要一个更安全的解决方案。
非常感谢人们可以提供的任何帮助。
python - 如何在 Windows 10 进程中运行 python 'pyw' 文件
大家好,
我完成了站点阻止程序的编写,然后我通过附加“w”重命名了“py”文件,双击运行它但该进程没有显示在任务管理器中。我尝试了几次,但没有任何结果。请注意,我使用的是 Win 10 操作系统。
您有什么建议可以帮助解决这个问题,例如在任务管理器中显示为 pythonw.exe 进程?