因为本地计算资源不够,但是又懒得在linux服务器中配置环境(没配置成功),所以只能在打包成exe调用。
首先安装pyinstaller
pip install pyinstaller
conda环境下打包py文件
pyinstaller -F TM5_nc_to_tif.py
源代码中定义命令行参数。
in_path = sys.argv[1]
out_path = sys.argv[2]
cmd中调用py文件,xx.py in_path out_path。cmd中调用exe文件,xx.exe in_path out_path。
在cmd里调用时,运行的代码(py)或者应用(exe)本身,参数为sys.argv[0],即cmd调用命令的第一个文本。in_path out_path分别为sys.argv[1]和sys.argv[2]。
调用测试:
G:\NO2\dist\TM5_nc_to_tif.exe G:\NO2\ANA\nc G:\NO2\ANA\tif
但是会报错:
ERROR 1: PROJ: proj_create_from_database: Cannot find proj.db
复制proj.db到exe同级文件夹下,并在源代码中添加以下语句,问题解决。
os.environ['PROJ_LIB'] = os.path.dirname(sys.argv[0])
在linux服务器上运行,chmod +xxx.exe wine /home/usr/xxx.exe