Macos移植python项目到Windows小记
- 一、准备工作
- 二、程序环境为虚拟环境
- 三、windows新建项目
- 四、安装项目依赖
- 五、安装pyinstaller
- 六、多文件打包
一、准备工作
1.在Macos
上开发完毕程序后,需要使用pip freeze > requirements.txt
将程序用到的所有库名进行记录,并保存在requirements.txt
中。
2.将项目中的py文件
以及涉及到的读取的文件/文件夹全都拷贝到目标Windows
机器上。
二、程序环境为虚拟环境
开发时使用的解释器应为虚拟环境,如下图:
三、windows新建项目
若需要打包为Windows
可执行文件,则需要在Windows
环境下进行打包。
1.新建一个pycharm
项目,删除自动生成的主程序main.py
。
2.将在Mac
系统中拷贝的项目文件(所有py文件
+需要读取的文件夹/文件)黏贴进刚才新建的项目。
四、安装项目依赖
1.使用语句pip install -r requirements.txt
安装拷贝过来项目所需的依赖文件,执行语句后,python
会自动安装requirements.txt
里面的所有依赖库,如图所示。
2.安装完所有依赖库之后,可尝试运行,确认是否报错。
五、安装pyinstaller
terminal终端使用语句pip install pyinstaller
,执行完毕后,终端输入命令pyinstaller
,会输出对应用法,如下图所示。
六、多文件打包
⚠️ 涉及需要打包的项目,需要明确需要读取的文件/文件夹的路径,可以使用os.package
获取当前文件的绝对路径去定义调取文件路径。【打包完成后需要将被调取文件/文件夹复制到与输出exe同层级文件夹下,否则会报错!】
import os
# 获取当前py文件所在绝对路径
Base_dir = os.path.dirname(os.path.abspath(__file__))
# "target_docx"可以替换成你的目标文件/文件夹的名字
base_path = os.path.join(Base_dir, "target_docx")
1.在pycharm
终端使用pyinstaller -D main.py -n xxx
对项目文件进行多文件打包。其中mian.py
代表项目主程序的文件名,根据自己项目更改,xxx
代表你想要为生成的可执行文件取的名字,自定义即可。
2.打包完毕后,可以看到多了一些文件,其中我们需要的最终文件位于dist文件夹
中,其余新增的文件(build
文件夹、spec文件
)都可以不用管。
3.最后,只需要打开将dist
文件夹复制给别人就可以打开运行exe文件了。
⚠️如果程序调用了外部的文件/文件夹,参照下面👇
打包完成后需要将被调取文件/文件夹复制到与输出exe同层级文件夹下,否则会报错!
否则报错,运行会直接闪退!
⚠️一旦闪退说明程序有错误,打开电脑终端,将可执行文件拖入终端(终端中会出现程序的地址),然后回车,此时就会显示程序的错误信息。