Python pyinstaller ModuleNotFoundError:没有名为';古罗比奥跑';
我在使用pyinstaller打包python文件后运行exe时遇到了这个问题。我的python文件是一个使用pyomo包的优化模型,该包调用gurobi和ipopt解算器。ipopt解算器运行良好。 当我的gurobi exe程序运行时,它会打印Python pyinstaller ModuleNotFoundError:没有名为';古罗比奥跑';,python,pyinstaller,pyomo,gurobi,Python,Pyinstaller,Pyomo,Gurobi,我在使用pyinstaller打包python文件后运行exe时遇到了这个问题。我的python文件是一个使用pyomo包的优化模型,该包调用gurobi和ipopt解算器。ipopt解算器运行良好。 当我的gurobi exe程序运行时,它会打印 Traceback (most recent call last): File "<stdin>", line 4, in <module> ModuleNotFoundError: No module
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
...
- 在终端中运行
pyinstaller main.py
- 系统会自动生成等级库文件,然后修改等级库文件,包括添加pathex、添加HiddeImports、添加数据
- 在终端中运行
pyinstaller main.spec
- 在终端中运行
main.exe
150信息:UPX不可用。我用一种非常愚蠢和原始的方法解决了这个问题。因为我的包是一个文件夹而不是一个大的exe文件,所以我只是尝试将GUROBI_RUN.py文件放入与main.exe相同级别的文件夹中。而且很有效!!!我的gurobi程序现在可以在exe中定期运行。我用一种非常愚蠢的原始方法解决了这个问题。因为我的包是一个文件夹而不是一个大的exe文件,所以我只是尝试将GUROBI_RUN.py文件放入与main.exe相同级别的文件夹中。而且很有效!!!我的gurobi程序现在可以在exe中定期运行。我重新检查了我原来的方法1、2、3,比如添加pathx,从***导入gurobi_run添加
,或者导入gurobi_run
将py文件放在main.py旁边,然后添加隐藏导入。一旦我将GUROBI_RUN.py放在打包文件文件夹中main.exe旁边,所有这些都是不必要的。所有这些参数都可以删除。在将py文件放在main.py旁边并添加隐藏导入后,我重新检查了我原来的方法1、2、3,比如添加pathx、从***import GUROBI_RUN添加或import GUROBI_RUN
。一旦我将GUROBI_RUN.py放在打包文件文件夹中main.exe旁边,所有这些都是不必要的。所有这些参数都可以删除。
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', ...],