使用pyinstaller 如何打包python项目

参考:【python项目正确打包方法-哔哩哔哩】 https://b23.tv/EDB6zbG

Pyinstaller 详解多种打包过程(去坑,填坑)。_pyinstaller -f -w-CSDN博客

1.打开命令提示符:

找到python项目所在位置,输入cmd即可

2. 安装pipenv:

在命令提示符:pip3 install pipenv

启动pipenv shell:

项目文件夹会出现:

 终端会出现:表示进入环境

3.在该环境中安装pyinstaller包和要打包的项目所需的其他包:

pip install pyinstaller

4.在该环境中输入:

pyinstaller xx.py

xx.py需要替换成自己项目的文件,这个文件需要执行整个模块的代码。

这里写的是xx.py在根目录的情况,酌情修改。

运行之后会生成dist,build文件,以及xx.spec。

5.修改xx.spec文件

a = Analysis(
    ['xx.py','CRF.py'],  写出项目中所有python文件的地址。


    pathex=[
        r'C:\Users\.virtualenvs\07_information_extraction-D51dpJc6\Lib\site-packages',
        r'D:\opencv\07_information_extraction'
    ],

第一个地址:07_information_extraction-D51dpJc6对应pipenv shell启动的环境,一般都在用户文件夹。

  • C:\Users\<用户名>:这是Windows系统中用户的主目录路径,<用户名>代表当前登录的用户名。
  • .virtualenvs:这通常是一个用户自定义的文件夹,用于存放所有的Python虚拟环境。不同的用户可能会选择不同的位置或命名方式来存放这些虚拟环境,但.virtualenvs是一个常见的选择。
  • 07_information_extraction-D51dpJc6:这是虚拟环境的名称和文件夹名。通常,虚拟环境的名称会反映其用途或与之关联的项目名称。D51dpJc6可能是一个随机生成的字符串,用于确保虚拟环境名称的唯一性,尤其是在自动化创建虚拟环境的场景中。
  • Lib\site-packages:这是Python中用于存储第三方库和模块的标准目录。在虚拟环境中,这个目录被用来隔离项目依赖,确保每个项目都有自己独立的Python环境,从而避免版本冲突等问题。

C:\Users\<用户名>\.virtualenvs\07_information_extraction-D51dpJc6\Lib\site-packages 就是你当前激活的名为07_information_extraction-D51dpJc6的Python虚拟环境中,所有第三方库和模块的存放位置。在这个目录下,你可以找到步骤3通过pip install等命令安装的库和模块。

第二个地址:python项目的根目录。


    datas=[(源路径,目标路径)
    ],源路径是打包前文件或目录的位置,目标路径是这些文件或目录在打包后的应用程序中相对于其根目录的位置。

作用是添加python项目文件中非py格式文件。

比如项目文件中存在:

代码中存在ner = CRF_NER(data_dir='07_information_extraction/data/'),

则:a = Analysis( # ... 其他参数 ... datas=[ (r'data', '07_information_extraction/data'))

或者

在源代码中修改:(这种写法更好,因为打包后的应用程序可能不会运行在你预期的目录中,或者打包工具可能没有正确处理这些路径。)

import os

base_dir = os.path.dirname(os.path.abspath(__file__))  # 获取当前脚本的目录  

data_dir = os.path.join(base_dir, 'data\\')  

print("dara",data_dir)

或者 直接把这类资源文件

6.在该环境中输入

pyinstaller xx.spec

7.打开dist/xx/下的xx.exe文件并运行。

如果出现闪退:

可以使用录屏的方式录下报错,然后修改。

  • 26
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值