Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/symfony/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python pyinstaller ModuleNotFoundError:没有名为';古罗比奥跑';_Python_Pyinstaller_Pyomo_Gurobi - Fatal编程技术网

Python pyinstaller ModuleNotFoundError:没有名为';古罗比奥跑';

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

我在使用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
...
  • main.py中编写python代码
  • hiddenimports添加到规范文件中
  • 我当前使用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不可用。

    我用一种非常愚蠢和原始的方法解决了这个问题。因为我的包是一个文件夹而不是一个大的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', ...],