当前位置:网站首页>小散量化炒股记|打包Py可执行文件,双击就能选出全市场稳步上扬的股票
小散量化炒股记|打包Py可执行文件,双击就能选出全市场稳步上扬的股票
2022-08-08 08:35:00 【元宵大师】
前言
通常,我们运行Python程序是要先在电脑上安装Python环境的,能不能不安装Python环境直接双击就能运行呢?
当然可以!接下来给大家介绍一种方法,把Py文件打包成exe就行了!
这样一来,我们分享的很多量化分析工具学员们双击就可以用起来,一边选股一边学习Python量化编程,两不误!
打包方法
首先要安装pyinstaller库。CMD命令窗口输入安装命令:pip install pyinstaller
在cmd命令窗口切换到需要打包的.py文件所在路径。比如存放.py文件的路径是Download文件夹,命令为:cd D:\Download
然后输入打包指令即可。
打包有两种语法:
pyinstaller -F [.py] 打包为单个exe文件,一般内部包含了依赖库,所以较大;
pyinstaller - D [.py] 打包为一个文件夹,其中exe文件在文件夹内部,这样单个exe文件会比较小。
另外pyinstaller还能带有一些参数:
pyinstaller -p 模块路径 -F -w --icon=窗口文件图标 文件名.py
参数说明:
–p:指定第三方模块的安装路径。可以使用多个-p参数来设置多个导入路径,让pyinstaller自己去找程序需要的资源。
-w:表示打包的文件为窗口文件,不显示cmd窗口。
–icon : 可选项,如果设置窗口图标,指定图标的路径。
文件名.py:窗口程序的入口程序。
这里建议使用pyinstaller -D [.py]半打包的方式打包。
使用-F全打包时,执行exe经常会出现闪退,这时候可能产生的原因,比较常见的是缺少模块,也就是打包的时候并没有添加,那么需要添加库/模块重新打包。如果是使用-D半打包,就可以将相关的库手动添加加到包中,而不需要重新打包。
我们以一个选股程序continue_raise_break.py作为打包的py文件。这个程序主要是用于选出A股市场中稳步上扬的股票。
执行pyinstaller -D continue_raise_break.py结束之后在文件下会产生以下文件,其中是continue_raise_break.py是我们要打包的文件。
执行的exe就在dist文件夹里面,双击exe就打开选股列表了。已经帮我们选出目标股票了!
踩坑指引
打包含有py_mini_racer的程序时出现错误,提示缺少mini-rarcer。
在windows下指的是mini_racer.dll文件。如果未安装的话,需要pip install py_mini_racer安装一下。
已经安装的话,解决方法是在Python安装路径下site-packages/py_mini_racer目录中找到这个文件,复制到打包的dist目录下。
如果是-F打包的话,执行以下语句,注意文件mini_rarcer.dll后是分号加点:
pyinstaller --clean -F --add-data mini_rarcer.dll;. [.py]
如果打包后的程序有错误,则会出现闪退,导致具体问题看不清楚。这时我们可以在exe所在的文件下打开cmd窗口执行exe,这样就能看清楚相应的错误。
说明
我们会把打包完的选股工具上传到知识星球《玩转股票量化交易》,学员们体验一番!想要加入知识星球《玩转股票量化交易》的小伙伴记得先微信call我(QuantTrade-YX)获取福利
边栏推荐
- Offensive and defensive world - lottery
- Redis读写分离(三)
- matlab simulink串级变比值模糊PID烟气脱硫浆液pH值控制
- 【Enumeration】Continuous factor
- [Regression prediction] Gaussian process regression based on GPML toolbox with matlab code
- Kotlin协程:生命周期原理
- 各位大佬想问下, flinkcdc采集oracle我看了下延迟大概两分钟左右,想问下有啥解决方法吗
- DVWA全级别详细通关教程
- js中call、bind、apply的区别?
- 攻防世界——web2
猜你喜欢
nodeJs--egg框架介绍
数据库_JDBC
[Regression prediction] Gaussian process regression based on GPML toolbox with matlab code
百度飞浆EISeg高效交互式标注分割软件的使用教程
1252_FreeRTOS_堆栈溢出检查方法与测试
CesiumJS 更新日志 1.96 与 1.97 - 新构建工具 esbuild 体验及 Model API 更替完成
【树莓派】vim编辑器
生产者消费者模型
Offensive and defensive world - lottery
22-08-06 西安 EasyExcel实现字典表导入、导出
随机推荐
Spiral Matrix
djanjo fourth training
【回归预测】基于GPML工具箱的高斯过程回归附matlab代码
HTTS 为什么更安全?
如何解决大团队需求交付周期长的问题?
golang-channel-一个基础channel并行操作的简单函数
LabVIEW前面板和程序框图的最大尺寸
mysql-cdc 换2.2.x 版本 怎么读不到 数据 咋回事
Offensive and defensive world - ics-05
Do you really know IP addresses?
BLOB, TEXT, GEOMETRY or JSON column 'xxxx' can't have a default value
剪切字符串函数
斯坦福21秋季:实用机器学习【第5章】
[ 深度学习 ] 课程学习(Curriculum Learning)
攻防世界——leaking
数控机床工作平台位置伺服系统的的数学建模与仿真
攻防世界——lottery
Today share how to submit a bug
At the time of data intelligence, Jiuzhang Yunji DataCanvas won the "Most Investment Value Company"
【图像分类】2022-MaxViT ECCV