我在使用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'],
...
from pyomo.solvers.plugins.solvers import GUROBI_RUN
hiddenimports=['pyomo.solvers.plugins.solvers.GUROBI_RUN', 'pyomo.solvers', 'pyomo.common.plugins', ...],
我当前使用pyinstaller的方法是
pyinstaller main.py
pyinstaller main.spec
main.exe
我的操作环境是 134信息:PyInstaller:4.1 134信息:Python:3.7.6(康达) 135信息:平台:Windows-10-10.0.17763-SP0 150信息:UPX不可用
我用一种非常愚蠢和原始的方法解决了这个问题。因为我的包是一个文件夹而不是一个大的exe文件,所以我只是尝试将GUROBI_RUN.py文件放入与main.exe相同级别的文件夹中。而且很有效!!!我的gurobi程序现在可以在exe中正常运行了
相关问题 更多 >
编程相关推荐