pyinstaller打包笔记

关于打包报错问题:

pyinstaller打包有很多坑,如果环境中python已经安装了很多库,打包会将一些不会使用到的库打包进去,有时会因为这些库打包的时候报错: 一个办法是将不需要的库打包时候却报错的库卸载掉另一个解决办法就是使用一个较为纯净的虚拟环境,然后安装必要的库(程序里面使用到的库)。

有些其他报错问题,如最常见的迭代超过限制等,参照以下博客修改生成的spec文件:

https://blog.csdn.net/weixin_42052836/article/details/82315118

关于打包体积太大的问题:

   一个办法是导入库的时候,尽量不要导入整个库 import ***,而是使用from *** import *** 导入需要用到的函数

   另一个解决办法就是使用一个较为纯净的虚拟环境,然后安装必要的库(程序里面使用到的库)。

使打包后的exe文件窗体可以右键复制粘贴:

   在打包的程序最开始加上以下代码:

   import  readline

   readline.parse_and_bind("control-v:paste")   #可以进行复制粘贴

 

pyinstaller可以用来打包pyd文件。首先,你需要确保你已经安装了pyinstaller和Cython。然后,你可以按照以下步骤进行操作: 1. 在你的.py文件所在的文件夹中创建一个新的.py文件,比如build_pyd.py。在这个文件中,你需要导入必要的模块,并使用Cython.Build的cythonize函数来编译你的.py文件。例如,你可以使用以下代码: ``` from distutils.core import setup from Cython.Build import cythonize setup( name='your_package_name', ext_modules=cythonize(\["your_py_file.py"\]), ) ``` 这将创建一个名为your_package_name的打包文件。 2. 运行build_pyd.py文件,它将使用Cython将你的.py文件编译为.pyd文件。 3. 接下来,你可以使用pyinstaller打包你的.pyd文件。你可以创建一个名为setup.py的文件,其中包含以下代码: ``` from distutils.core import setup from distutils.extension import Extension from Cython.Distutils import build_ext setup( cmdclass={'build_ext': build_ext}, ext_modules=\[Extension("your_package_name", sources=\["your_package_name.pyx"\])\] ) ``` 这将创建一个名为your_package_name的打包文件。 4. 运行setup.py文件,它将使用pyinstaller将你的.pyd文件打包为可执行文件。 请注意,你需要将上述代码中的"your_py_file.py"和"your_package_name"替换为你自己的文件名和包名。此外,你还需要确保你的.py文件中引用的外部包已经安装。 希望这可以帮助到你!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [Python编程笔记(持续更新...)](https://blog.csdn.net/qq_24250441/article/details/127804322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [pyinstaller编译打包为pyd](https://blog.csdn.net/weixin_30275415/article/details/101711538)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Python编程笔记(持续更新...)](https://blog.csdn.net/qq_24250441/article/details/127804322)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值