- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我使用python编写了一个屏幕截图程序,并想将其编译为.exe
文件。所以我尝试了 py2exe
和 pyinstaller
。
我的Python版本是2.7.14
,32位。我使用Windows 10。我在这个项目中也使用了虚拟环境。
我的屏幕截图程序代码如下。我通过 python snapshot.py 运行它,它会截取我的屏幕截图并将其存储在保存目录中。
from PIL import Image
import pyscreenshot as ImageGrab
import time
time.sleep(3)
save_dir = "C:/Users/ling/Downloads/test/"
def grab():
im = ImageGrab.grab()
im.save(save_dir + "screenshot.png")
if __name__ == "__main__":
grab()
对于pyinstaller
,我只需使用pip install pyinstaller
来安装它。已安装的版本 -> 3.3.1
。请注意,我在虚拟环境中安装了这个包。
我通过运行pyinstaller --onefile snapshot.py
编译了该程序。它生成了一个可执行的screenshot.exe
。当我运行可执行文件时,没有截图。
对于安装py2exe
,由于在运行python 2的Windows计算机上安装它存在一些问题,我按照此link中的教程进行操作。
我创建setup.py
来将screenshot.py
编译为screenshot.exe
。以下是setup.py
from distutils.core import setup
import py2exe
setup(
console=[{'script':'screenshot.py'}],
options = {
'py2exe': {
'includes': ['PIL','pyscreenshot','time'],
'bundle_files': 1, 'compressed': True
}
},
zipfile = None
)
我使用python setup.py py2exe
运行它。它生成了一个可执行文件。当我运行这个文件时,结果与 pyinstaller 相同。没有截图。
我需要有关为什么 screenshot.exe
无法工作的帮助。我错过了什么吗?
感谢您的帮助。
最佳答案
解决了!
下面是screenshot.py
的修改后的代码。通过 py2exe 运行它。
from multiprocessing import Process, freeze_support
from PIL import Image
import pyscreenshot as ImageGrab
import time
time.sleep(3)
save_dir = "C:/Users/ling/Downloads/test/"
def grab():
im = ImageGrab.grab()
im.save(save_dir + "screenshot.png")
if __name__ == "__main__":
freeze_support()
p = Process(target=grab)
p.start()
事实证明,我需要包含 multiprocessing
中的 freeze_support
和 Process
关于python - py2exe 和 pyinstaller 生成的 exe 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49326762/
我需要在 pyinstaller“onefile”可执行文件中包含一个 DLL 和一个文本文件。我可以只添加 DLL,但如果我尝试指定这两个文件,pyinstaller 会提示。我宁愿使用命令行选项(
我编写了一个 python 应用程序,它使用 pdfkit 包来打印 PDF。我正在使用 pyinstaller 在 Ubuntu 上构建此应用程序的可执行文件。 pdfkit 依赖于使用 sudo
我想弄清楚为什么 PyInstaller 一直包含 PyQt 的 Windows dll 文件,即使我的应用程序不使用 PyQt。所以,我想知道如何确定 为什么 PyInstaller 认为 PyQt
我在我的 mac osx sierra 下安装了 2 个 python 版本: python 3.5 python 2.7 我用这个命令在python3.5下安装了pyinstaller: pytho
所以,标题基本上涵盖了我的问题。我已经使用 virtualenv 创建了一个项目,例如我必须 source ./env/bin/activate 运行我的脚本。 当我尝试使用以下命令创建可执行文件时:
大约一个月前,我使用 PyInstaller 和 Inno Setup 为我的 Python 3 脚本生成了一个安装程序。我的 AVG Business Edition AntiVirus 刚刚开始提
我正在尝试使用 pyinstaller 制作可执行文件,方法如下: pyinstaller -F --add-binary="sometool.exe:."myapp.py 构建工作正常。但是,如果我
我想要卡住一个 Python 应用程序,作为其功能之一,它能够使用 PyInstaller 生成卡住的 Python 应用程序。这是一个最小的应用程序,显示了我想要实现的目标: import PyIn
运行 pyinstaller myfile.spec 下面的回溯 Traceback (most recent call last): File "/usr/local/bin/pyinstall
首先, native 运行 Fedora 13,PyInstaller 版本为 1.5.1 我在生成规范时确实使用了 --onefile 。 从 Python 解释器中运行“import atexit
我想使用以下命令安装 pyinstaller 模块: pip install pyinstaller 但我总是得到以下错误: 最佳答案 我尝试了一切,但最终我找到了解决方案。 您只需将 pip 从 1
我在 Windows 上运行 Python 3.5.3,并尝试使用 pip 安装 Pyinstaller。它似乎工作 - 没有错误或任何东西,就像 pip 一样非常简单。 我试过 import -m
我已经使用 pyinstaller 在 Windows 10 64 位上从 python 脚本创建了一个 exe。我如何设置 exe 以便它在我的另一台装有 Windows 8 32 位的机器上运行。
我使用以下命令安装了最新版本的 PyInstaller:pip install https://github.com/pyinstaller/pyinstaller/archive/develop.z
我用 python 编写程序来打开路径给出的一些可执行文件。我使用: os.startfile(路径) 启动程序。当我在 IDLE 中运行 script.py 时,它工作正常,但是当我使用 pyins
我在 Python 中构建了一个关键字搜索工具,然后使用 Pyinstaller 将其转换为 .exe 格式,因此我工作场所的人无需安装 Python 即可使用它。 我已通过电子邮件将其以 RAR 文
我遇到了一个问题。我正在使用 pyinstaller 将代码导出到 .exe。代码包括 tkinter、PIL 和 keyboard 模块。软件在我使用 Python 的 PC 上运行完美,而在没有
我正在尝试从我的 python 项目中创建一个可执行文件。我正在使用函数“make_executable”构建可执行文件。 运行添加数据的命令会引发如下错误:pyinstaller: 错误: 无法识别
我想从 .py 创建 .exe 文件。如果我运行 .py 文件,它运行良好,我没有问题。但是当我运行 pyinstaller 创建的 .exe 文件时,我无法在命令行中输入(键入)任何内容。 我已经尝
我有一个小应用程序,我正在尝试针对 Windows 机器构建它。该程序创建一个 OpenVPN 连接。如果我构建程序并运行它,它首先会打开一个控制台作为程序输出。如果我通过 -w pyinstalle
我是一名优秀的程序员,十分优秀!