创建虚拟环境
这里在命令行下用conda
创建虚拟环境,
conda create -n 虚拟环境名 python==3.9 #创建python=3.9的虚拟环境
conda activate 虚拟环境名 #激活虚拟环境(相当于进入虚拟环境)
conda deactivate #退出虚拟环境
conda info --envs #查看conda所有虚拟环境
conda list #可以查看当前虚拟环境里已经安装的库
![在这里插入图片描述](https://img-blog.csdnimg.cn/467061ab0b564f29bf8a2264c5847530.png)
进入虚拟环境安装库
pip install pandas
pip install pyinstaller
pip install openpyxl
![在这里插入图片描述](https://img-blog.csdnimg.cn/b7d328a064db4da08ba762afbaa56c65.png)
pycharm配置虚拟环境
![请添加图片描述](https://img-blog.csdnimg.cn/2d6dccf059994eac81790d5dddc49bcf.png)
pycharm 打开terminal进入虚拟环境
执行命令
"""
打包命令: Pyinstaller -F -i 288h.ico transformTo288h.py
运行命令: python ./transformTo288h.py D:\PV.xlsx D:\PV_t288h.csv
"""
# -i 288h.ico 打包指定exe图标打包 -F 产生一个文件用于部署
# 如果加 -w 就是不带控制台的打包
![在这里插入图片描述](https://img-blog.csdnimg.cn/d44d8c436a66443cbc02eb95a0d64cac.png)
可以看到下面的exe文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/684ea87fbdd04a14b4d569c133f953f9.png)
运行参数传入
要解决打包后的exe文件 支持接收外部传参的功能。有sys
包或者argparse
包,两者都能达到接收外部参数的目的。这里我用sys
方式传参。
import sys
print(r"当前程序的运行路径为:{}".format(sys.argv[0]))
# 解析参数
sourcePath = sys.argv[1]
resultPath = sys.argv[2]
print("输入源文件文件路径是:", sourcePath)
print("结果文件路径是:", resultPath)
命令行运行这段代码。
![在这里插入图片描述](https://img-blog.csdnimg.cn/732e90cbebc0405f96ef8fbdac5adb10.png)
sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数
sys.argv[0]
是当前所执行的脚本,并且输入什么就是什么,输入test.py
就是test.py
,输入./test.py
就是./test.py
用sys.argv[1:]
可以获取到所有的参数,并且输出到一个列表里面。
打包后的文件运行
Shift+右键打开PowerShell输入如下命令
transformTo288h.exe D:\PV.xlsx(原数据路径) D:\PV_288h.csv(输出路径)