pyinstaller ModuleNotFoundError:没有名为“GUROBI_RUN”的模块

2024-04-18 00:37:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我在使用pyinstaller打包python文件后运行exe时遇到了这个问题。我的python文件是一个使用pyomo包的优化模型,它调用gurobiipopt解算器。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文件

我尝试了几种方法,包括:

  1. 将参数添加到等级库文件中
a = Analysis(['main.py'],
pathex=['C:\\Users\\*****\\.conda\\envs\\gurobi_env\\Lib\\site-packages', 
'C:\\gurobi900'],
...
  1. main.py中编写python代码
from pyomo.solvers.plugins.solvers import GUROBI_RUN
  1. hiddenimports添加到规范文件中
hiddenimports=['pyomo.solvers.plugins.solvers.GUROBI_RUN', 'pyomo.solvers', 'pyomo.common.plugins', ...],

我当前使用pyinstaller的方法是

  • 在终端中运行pyinstaller main.py
  • 系统会自动生成等级库文件,然后修改等级库文件,包括添加pathex、添加HiddeImports、添加数据
  • 在终端中运行pyinstaller main.spec
  • 在终端中运行main.exe

我的操作环境是 134信息:PyInstaller:4.1 134信息:Python:3.7.6(康达) 135信息:平台:Windows-10-10.0.17763-SP0 150信息:UPX不可用


Tags: 文件runinpy信息mainlineplugins
1条回答
网友
1楼 · 发布于 2024-04-18 00:37:17

我用一种非常愚蠢和原始的方法解决了这个问题。因为我的包是一个文件夹而不是一个大的exe文件,所以我只是尝试将GUROBI_RUN.py文件放入与main.exe相同级别的文件夹中。而且很有效!!!我的gurobi程序现在可以在exe中正常运行了

相关问题 更多 >

    热门问题