【发布时间】:2021-03-26 22:52:16
【问题描述】:
我在使用pyinstaller打包python文件后运行exe时遇到了这个问题。我的 python 文件是一个使用 pyomo 包的优化模型,它调用 gurobi 和 ipopt 求解器。 ipopt 求解器运行良好。 当我的 gurobi exe 程序运行时,它会打印出来
Traceback (most recent call last):
File "<stdin>", line 4, in <module>
ModuleNotFoundError: No module named 'GUROBI_RUN'
ERROR: Solver (gurobi) returned non-zero return code (1)
ERROR: See the solver log above for diagnostic information.
Traceback (most recent call last):
File "main.py", line 136, in <module>
File "main.py", line 131, in main
...
GUROBI_RUN 是路径 'C:\Users\******\.conda\envs\gurobi_env\Lib\site-packages\pyomo\solvers\plugins\solvers' 中的 py 文件
我尝试了几种方法,包括:
- 将参数添加到规范文件中。
a = Analysis(['main.py'],
pathex=['C:\\Users\\*****\\.conda\\envs\\gurobi_env\\Lib\\site-packages',
'C:\\gurobi900'],
...
- 在main.py中写python代码
from pyomo.solvers.plugins.solvers import GUROBI_RUN
- 将 hiddenimports 添加到规范文件中
hiddenimports=['pyomo.solvers.plugins.solvers.GUROBI_RUN', 'pyomo.solvers', 'pyomo.common.plugins', ...],
我目前使用pyinstaller的方法是
- 在终端运行
pyinstaller main.py - 自动生成spec文件,然后修改spec文件,包括添加pathex、添加hiddenimports、添加datas
- 在终端运行
pyinstaller main.spec - 在终端运行
main.exe
我的操作环境是 134 信息:PyInstaller:4.1 134 信息:Python:3.7.6(康达) 135 信息:平台:Windows-10-10.0.17763-SP0 150 信息:UPX 不可用。
【问题讨论】:
标签: python pyinstaller pyomo gurobi