error to run pyomo executable created by pyinstaller.

737 views
Skip to first unread message

Jim He

unread,
Aug 6, 2018, 3:05:03 PM8/6/18
to Pyomo Forum
I have simple pyomo program and would like to create a executable by pyinstaller. 

After creating executable, i am facing error msg:

File "site-packages\pyomo\environ\__init__.py", line 71, in _import_packages
portError: pyomo.environ failed to import pyomo.opt.plugins:
iginal ImportError: No module named plugins


Please help. 

Alfaima Solano

unread,
Jul 2, 2019, 3:18:03 PM7/2/19
to Pyomo Forum
Hi Jim,

I'm also trying to do the same and I get the same error. Could you solve the problem? 

Thanks

Alfaima Solano

unread,
Jul 15, 2019, 6:38:40 PM7/15/19
to Pyomo Forum
Ok guys. I solved it, 

I could only make it work with CBC optimizer. Pyinstaller cannot import pyomo modules by itself so I had to rely in a Spaguetti command to import them all. 

If someone knows how to make a .spec file so this is easier please let us know in this thread. 

Here it goes: 

pyinstaller --hidden-import=numbers --hidden-import=pyutilib --hidden-import=pyutilib.component.config --hidden-import=pyomo --hidden-import=pyomo.environ --hidden-import=pyutilib.component.app --hidden-import=pyutilib.common --hidden-import=pyutilib.component.executables --hidden-import=pyutilib.component.loader --hidden-import=pyutilib.dev --hidden-import=pyutilib.dev --hidden-import=pyutilib.enum --hidden-import=pyutilib.math --hidden-import=pyutilib.misc --hidden-import=pyutilib.ply --hidden-import=pyutilib.pyro --hidden-import=pyutilib.R --hidden-import=pyutilib.services --hidden-import=pyutilib.subprocess --hidden-import=pyutilib.svn --hidden-import=pyutilib.th --hidden-import=pyutilib.virtualenv --hidden-import=pyutilib.workflow --hidden-import=pyomo.age --hidden-import=pyomo.bilevel --hidden-import=pyomo.bilevel.plugins --hidden-import=pyomo.core --hidden-import=pyomo.core.plugins --hidden-import=pyomo.dae --hidden-import=pyomo.dae.plugins --hidden-import=pyomo.gdp --hidden-import=pyomo.gdp.plugins --hidden-import=pyomo.neos --hidden-import=pyomo.neos.plugins --hidden-import=pyomo.opt --hidden-import=pyomo.opt.plugins  --hidden-import=pyomo.pysp --hidden-import=pyomo.pysp.plugins --hidden-import=pyomo.solvers.plugins --hidden-import=pyomo.solvers --hidden-import=pyomo.checker --hidden-import=pyomo.checker.plugins --hidden-import=pyomo.contrib --hidden-import=pyomo.contrib.plugins --hidden-import=pyomo.dataportal --hidden-import=pyomo.dataportal.plugins --hidden-import=pyomo.duality --hidden-import=pyomo.duality.plugins --hidden-import=pyomo.kernel --hidden-import=pyomo.kernel.plugins --hidden-import=pyomo.mpec --hidden-import=pyomo.mpec.plugins --hidden-import=pyomo.network --hidden-import=pyomo.network.plugins --hidden-import=pyomo.repn --hidden-import=pyomo.repn.plugins --hidden-import=pyomo.scripting --hidden-import=pyomo.scripting.plugins --hidden-import=pyomo.util --hidden-import=pyomo.util.plugins --hidden-import=pyomo.common --hidden-import=pyomo.common.plugins --hidden-import=sys --hidden-import=logging --hidden-import=re --hidden-import=sys --hidden-import=pyutilib.services --hidden-import=pyomo.core.expr.numvalue --hidden-import=pyomo.core.expr.numvalue --hidden-import=pyomo.solvers.plugins.solvers.direct_solver --hidden-import=pyomo.solvers.plugins.solvers.direct_or_persistent_solver --hidden-import=pyomo.core.kernel.component_set --hidden-import=pyomo.core.kernel.component_map --hidden-import=pyomo.opt.results.results_ --hidden-import=pyomo.opt.results.solution --hidden-import=pyomo.opt.results.solver --hidden-import=pyomo.opt.base --hidden-import=pyomo.core.base.suffix --hidden-import=pyomo.core.base.var --hidden-import=pyomo.core.base.PyomoModel --hidden-import=pyomo.solvers.plugins.solvers.persistent_solver --hidden-import=pyomo.opt.base.problem --hidden-import=pyomo.opt.base.convert --hidden-import=pyomo.opt.base.formats --hidden-import=pyomo.opt.base.results  --hidden-import=pyomo.core.base.block --hidden-import=pyomo.core.kernel.block --hidden-import=pyomo.core.kernel.suffix hidden-import=pyomo.solvers.plugins.solvers.CBCplugin -F --onefile test.py

Where test.py contains both the abstract and the concrete model of an optimization problem. 


Cheers


On Monday, August 6, 2018 at 2:05:03 PM UTC-5, Jim He wrote:
Reply all
Reply to author
Forward
0 new messages