Python打包成.exe文件直接运行

前言

很多小伙伴在阅读了博主的文章后都积极与博主交流,在这里博主很感谢大家的喜欢。博主最近收到了一个小伙伴的问题,就是那么多有趣的代码,怎么发给别人,让没有python环境的小伙伴也可以使用呢。本期博主将带着大家探索如何将自己的代码打包成.exe可执行文件,一起来看看吧!

pyinstaller

PyInstaller是一种用于Python脚本的自包含的可执行文件打包工具,它可以将Python代码打包成一个可执行文件,使得该文件可以在没有安装Python解释器的情况下在其他计算机上运行。PyInstaller支持多种操作系统和Python版本,可以帮助Python开发者更加方便地分发和部署他们的应用程序。

PyInstaller的工作原理是将Python脚本解析成可执行文件。它将Python脚本和所有的依赖库、资源文件打包成一个可执行文件,并且会自动解析依赖关系,使程序在其他计算机上可以独立运行。打包后的可执行文件包含一个解释器和所有的依赖库、资源文件,不需要安装任何其他程序。

PyInstaller的使用非常简单,只需要安装PyInstaller,然后使用命令行工具打包即可。打包命令非常简单,只需要指定Python脚本的路径,PyInstaller会自动解析依赖关系,并生成一个可执行文件。PyInstaller支持多种参数,可以对打包后的可执行文件进行一些定制化的设置。例如,可以设置图标、版本号等信息,也可以排除某些依赖库或文件。

PyInstaller不仅可以将Python脚本打包成可执行文件,还可以将Python程序打包成DLL和SO文件,使得Python程序可以被其他编程语言以动态链接库的方式调用。这也使得Python成为了一种非常灵活和强大的编程语言,可以和其他编程语言混合使用。

虽然PyInstaller对Python的打包和部署提供了很大的便利,但是在打包过程中也需要注意一些问题。例如,打包后的可执行文件会比原脚本文件大很多,可能会占用更多的磁盘空间。此外,由于打包后的文件需要包含所有依赖库和资源文件,因此打包时间可能会比较长。在使用PyInstaller时,需要仔细阅读文档,并且多做测试,以确保生成的可执行文件可以在目标计算机上正常运行。

总之,PyInstaller是一个非常好用的Python打包工具,它可以将Python脚本和依赖库、资源文件打包成一个可执行文件,使得该文件可以在其他计算机上独立运行。PyInstaller支持多种操作系统和Python版本,使用简单方便。虽然在使用时需要注意一些问题,但是PyInstaller的便利性使得它成为了Python开发中不可或缺的一部分。

.exe文件

.exe文件是Windows操作系统中的一种可执行文件格式,它是由Windows编译器编译出来的二进制文件,用于执行程序代码。.exe文件通常包含了程序的所有必要资源和库文件,因此可以独立地在计算机上运行,不需要依赖其他软件或环境。它是一种非常流行的文件格式,因为它可以方便地将程序分发给用户,用户只需要双击该文件即可启动程序。

.exe文件通常是由开发人员使用编译器将源代码编译成机器语言生成的。编译器将源代码翻译成适用于目标计算机的指令集,生成可执行文件。.exe文件包含了程序的所有代码、资源和数据,它是一种可靠的二进制文件,可以在Windows操作系统上运行。

.exe文件可以储存在计算机上的任何位置,并且可以通过双击文件启动程序。它也可以通过命令行来启动。.exe文件可以启动GUI界面,也可以只是在控制台上输出某些信息。.exe文件还可以接受命令行参数,这些参数可以被程序用来影响其运行。

.exe文件的安全性问题也备受关注。恶意软件开发者会将病毒、木马等恶意代码嵌入.exe文件中,以达到控制用户计算机的目的。因此,在使用.exe文件时,要注意文件来源的可信度,并且使用杀毒软件检查文件是否存在病毒,以保证计算机的安全性。

总之,.exe文件是Windows操作系统中的一种可执行文件格式,用于执行程序代码。它包含了程序的所有必要资源和库文件,可以独立地在计算机上运行。.exe文件可以通过双击文件启动程序,也可以通过命令行来启动。在使用.exe文件时,要注意文件来源的可信度,并且使用杀毒软件检查文件是否存在病毒,以保证计算机的安全性。

具体步骤

第一步:安装pyinstaller

首先同时按住键盘上的"win+r"键,输入"cmd"进入终端

1

在终端输入

pip install pyinstaller

下载安装pyinstaller工具

安装成功后在终端输入"pyinstaller"检查是否安装成功

2

如上图即安装成功

第二步:进入要打包文件的目录

在这里我就以满屏表白代码为例子给大家演示一下

将代码输入pycharm(conda等python环境都可以)

3

查看该文件的路径

4

在终端进入该路径

5

输入如下命令,等待打包即可

pyinstaller -F main.py

注意这里的main.py文件是你要打包的文件名,对我来说是如下这个文件

6

出现如下的信息说明打包成功

7

第三步:执行文件

最后我们进入刚才的文件夹,我们会发现刚才的目录下多出了三个文件(文件夹)

8

我们进入"dist"文件夹,里面有一个"main"文件夹

9

双击进入"main"文件夹

10

里面有一个main.exe可执行文件,双击运行即可!

第四步:发给好友

只需要将刚才的三个文件放入同一个文件夹下,然后压缩文件夹发给好友即可哦

11
12
13

拓展

对于

pyinstaller -F main.py

除了-F参数,pyinstaller还有许多其他参数可供选择,以下是一些常用的参数:

  • -w :关闭控制台窗口,使程序在后台运行。
  • -c :为程序创建一个控制台窗口。
  • -D :创建一个包含多个文件的目录结构作为输出。
  • -i :指定程序的图标文件。
  • -n :指定程序的名称。
  • -p :添加额外的模块搜索路径。
  • --hidden-import :强制添加一个隐藏的导入(在运行时需要但无法自动检测到的模块)。
  • --exclude-module :排除特定模块。

例如,运行pyinstaller -w -i icon.ico main.py将使用icon.ico作为程序图标,并在后台运行程序。

尾声

喜欢本篇文章的小伙伴记得点赞收藏哦~
感谢大家的喜欢!

  • 22
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
### 回答1: 可以使用 C++ 调用 Python 文件并传递参数。方法之一是使用 Python/C API,它提供了一组 C 函数,可以在 C/C++ 程序中调用 Python 代码。 首先,需要在 C++ 中包含 Python文件: ```#include <Python.h>``` 然后,使用 `Py_Initialize()` 初始化 Python 解释器,使用 `PyRun_SimpleString()` 执行 Python 代码,使用 `Py_Finalize()` 结束 Python 解释器的使用。 如果要调用特定的 Python 文件并传递参数,可以使用 `PyRun_SimpleFile()` 或 `PyRun_SimpleFileEx()` 函数。这些函数接受文件句柄或文件名作为参数。 还可以使用`PyImport_Import` 和 `PyObject_CallObject` 来调用特定的函数。 具体的示例代码可以看官方的文档或其他相关的教程,并做相应的修改。 ### 回答2: 在C++中调用Python文件并传递参数可以通过使用Python的相关库实现。以下是一种常用的方法: 1. 首先,你需要在C++程序中包含相关的头文件,例如`Python.h`。 2. 然后,你需要初始化Python解释器。可以使用`Py_Initialize()`函数来实现。 3. 接下来,你需要将C++中的参数传递给Python。可以使用`PyRun_SimpleString()`函数来执行Python代码,并将参数传递给它。例如,你可以使用类似于`PyRun_SimpleString("param = 'your_parameter_value'")`的代码来在Python中创建一个名为`param`的变量,并将参数值赋给它。 4. 在Python代码中,你可以使用`sys.argv`来获取C++传递的参数。例如,你可以使用类似于`param = sys.argv[1]`的代码来获取传递的参数,并将其赋值给一个变量。 5. 最后,你可以使用`Py_Finalize()`函数来结束Python解释器的会话。 这是一个基本的示例代码,演示了如何在C++中调用Python文件并传递参数: ```cpp #include <Python.h> int main(int argc, char *argv[]) { // 初始化Python解释器 Py_Initialize(); // 传递参数给Python PyRun_SimpleString("param = 'your_parameter_value'"); // 调用Python文件 FILE* file = fopen("your_python_file.py", "r"); PyRun_SimpleFile(file, "your_python_file.py"); // 结束Python解释器 Py_Finalize(); return 0; } ``` 请确保你的C++程序和Python文件在同一个目录中,并将上述代码中的文件名和参数值替换为你自己的文件名和参数值。 ### 回答3: 在CPP中调用Python文件并传递参数可以使用Python的扩展模块来实现。具体步骤如下: 1. 首先,需要使用#inculde指令引入Python的相关头文件: ```cpp #include <Python.h> ``` 2. 然后,需要初始化Python解释器: ```cpp Py_Initialize(); ``` 3. 接着,可以使用PyRun_SimpleString函数来运行Python代码,从而调用Python文件: ```cpp PyRun_SimpleString("exec(open('your_python_file.py').read())"); ``` 其中,"your_python_file.py"是你要调用的Python文件文件名。 4. 接下来,可以使用PyObject_CallFunction函数来调用Python文件中的函数,并传递参数: ```cpp PyObject* pModule = PyImport_ImportModule("your_python_file"); PyObject* pFunc = PyObject_GetAttrString(pModule, "your_python_function"); PyObject* pArgs = PyTuple_Pack(1, Py_BuildValue("s", "your_parameter")); PyObject* pResult = PyObject_CallObject(pFunc, pArgs); ``` 其中,"your_python_function"是你要调用的Python函数的函数名,"your_parameter"是要传递的参数。 5. 最后,可以使用Py_Finalize函数来结束Python解释器的运行: ```cpp Py_Finalize(); ``` 需要注意的是,CPP调用Python的过程中,需要确保Python的解释器和所使用的Python文件在同一个环境下,并且需要安装并配置好对应的Python环境和相关模块。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Want595

感谢小伙伴的支持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值