运行简单的.py或.pyw python文件会导致python.exe显示在任务管理器下.
python myApp.py
python myApp.pyw
Run Code Online (Sandbox Code Playgroud)
然而,当我们尝试不使用控制台运行,该脚本不会出现跑,也不python.exe或pythonw.exe在任务管理器中出现
pythonw myApp.pyw
pythonw myApp.py
Run Code Online (Sandbox Code Playgroud)
我们如何解决问题?系统运行的是Python 2.7.8 x64.
我有一个带有GUI的程序,通过Popen调用运行外部程序:
p = subprocess.Popen("<commands>" , stdout=subprocess.PIPE , stderr=subprocess.PIPE , cwd=os.getcwd())
p.communicate()
Run Code Online (Sandbox Code Playgroud)
但是无论我做什么,都会弹出控制台(我也尝试将NUL传递给文件句柄).如果没有得到我调用的二进制文件来释放它的控制台,有没有办法做到这一点?
我刚刚尝试将 anaconda 环境更新到最新版本,但现在收到错误消息。我以管理员身份打开conda环境,发出的命令是:
conda update conda
conda update anaconda
Run Code Online (Sandbox Code Playgroud)
第一个命令完成得很好。第二个命令产生错误:
pythonw.exe - Entry Point Not Found
The procedure entry point ?PyWinObject_FromULARGE_INTEGER@@YAPEAU_object@@AEAT_ULARGE_INTEGER@@@Z could not be located in the dynamic link library c:\ProgramData\Anaconda3\pythoncom37.dll
Run Code Online (Sandbox Code Playgroud)
我发现这种错误,需要我复制一个文件的引用libssl-1-1-x64.dll从Anaconda3 /库/ bin中从一个Anaconda3 / DLL文件。
但是,我在源位置没有那个文件。是否可以发出任何命令来再次下载此文件,或者我可以安全地从中下载该文件的某个在线位置?
如果我将我的代码文件保存为.pyw,则不会出现控制台窗口 - 这就是我想要的 - 但如果代码包含调用os.system,我仍然会得到一个讨厌的控制台窗口.我认为这是由呼叫引起的os.system.有没有办法从我的.pyw脚本中执行其他文件而根本不提高控制台窗口?
我有一个带有wxpython GUI和一些命令行参数的python程序.我使用py2exe生成一个单独的Windows可执行文件.我不想在后台有一个命令行窗口,所以py2exe使这个没有这个窗口的pythonw可执行文件.这相当于使用*.pyw扩展名.
问题是,如果你想看到可用的命令行参数,你自然会在shell上执行"main.exe -h".即使argparse提供此信息,由于*.pyw扩展名,它也无法到达stdout.
那么如何使用pythonw为GUI应用程序重新启用stdout呢?
最小的工作范例:
# test.py
print "hello"
Run Code Online (Sandbox Code Playgroud)
执行:
#> python test.py
hello
#> pythonw test.py
#>
Run Code Online (Sandbox Code Playgroud)
提前感谢任何建议!
我有一个连续在服务器上运行的python程序,它将一些数据放入MYSQL数据库并加载一些.它还使用TCP/IP连接.问题是大约24小时后它会产生运行时错误:
Microsoft Visual C++ Runtime Library!
Runtime Error!
Program: C:\python27\pythonw.exe
This application has requested the Runtime to terminate it in an unusual way.
Run Code Online (Sandbox Code Playgroud)
然后我打开OK python shell关闭.当我关闭所有python文件并检查Windows任务管理器时,我看到仍然有一个pythonw.exe文件打开!!!
我正在使用IDLE来运行我的应用程序.
我在 Windows 7 上运行 Python 3.3。当我这样调用它时,我有一个成功的脚本:
c:\python33\python.exe my_script.py
Run Code Online (Sandbox Code Playgroud)
但是当我这样称呼它时失败了:
c:\python33\pythonw.exe my_script.py
Run Code Online (Sandbox Code Playgroud)
我想使用 定期启动它pythonw,因为它应该每小时运行一次,而且我不想每次启动时都看到丑陋的控制台窗口。
(我知道脚本失败是pythonw因为 (a.) 它立即退出,大约需要两分钟,并且 (b.) 它应该发送电子邮件,但它没有。)
我什至如何调试它?由于pythonw没有显示任何输出,我不知道该怎么做。
我有一个脚本,可以使用Tkinter编写的简单GUI界面将Google Earth .kml/ .kmz文件转换为shapefile.
我的问题是它可以使用.py扩展程序正常工作,但是当使用.pyw扩展程序保存时它会在读取我的.kml文件时停止.
没有错误消息,它不会崩溃.GUI启动OK等,但它只是停止并始终在大约相同的位置.我正在使用Python 2.5,并且与Python 2.7具有相同的结果.
有什么想法会导致这种情况吗?
我只是在python的:pythonw.exe和java 之间建立了联系:javaw.exe我对此很好奇,因为我无法弄清楚这些结尾字母是什么意思.我知道那javac是Java编译器,所以我假设w名称末尾也有一些意义.我也看到了更喜欢javap,javah等有人能概括的含义对于像C最常见的结局,W,H,P,等等?
我已经尝试使用谷歌搜索和搜索Stackoverflow但没有发现任何不仅仅是一个特定的结局.
编辑:
我意识到这些问题有很多孤立的答案.所有我真正想知道的是,是否有一个地方可以查看完整(或体面)的常用字母及其含义列表,或者是否有人可以为我勾勒出它们?还有什么叫这些结局,所以我不是指他们只是"结束信件"?
我想在里面运行时重定向stderr和stdout文件pythonw.如何确定脚本是在运行pythonw还是在运行python?
脚本运行后,Python实例崩溃.
错误签名是:
AppName pythonw.exe AppVer 0.0.0.0 ModName:ntdll.dll
ModVer 5.2.3790.3959 Offset 00020d8e
Run Code Online (Sandbox Code Playgroud)
该脚本有时工作正常,然后其他崩溃.它是从Spyder发起的.当在Spyder外面发射时,仍然会崩溃.
第一次运行似乎有效,但第二次运行崩溃.
Python版本.Python 2.6.6(r266:84297,2010年8月24日,18:46:32)[MSC v.1500 32 bit(Intel)]