Page 1 of 1

ModuleNotFoundError: No module named '_gams2numpy'

Posted: Tue Mar 22, 2022 1:24 pm
by Jan
Dear all,

I try to install the GAMS python API under GAMS version 38.2.1 on Windows10 system. Using the setup.py command seems to work. However, trying to import gamstransfer I receive an error message:

Code: Select all

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Input In [1], in <cell line: 1>()
----> 1 import gamstransfer as gt

File <frozen zipimport>:259, in load_module(self, fullname)

File ~\miniconda3\envs\gamsNeu\lib\site-packages\gamstransfer-0.1-py3.9.egg\gamstransfer.py:32, in <module>
     30 import warnings
     31 import copy
---> 32 import gams2numpy
     33 from gdxcc import *
     34 from gmdcc import *

File <frozen zipimport>:259, in load_module(self, fullname)

File ~\miniconda3\envs\gamsNeu\lib\site-packages\gams2numpy-0.1-py3.9.egg\gams2numpy.py:26, in <module>
      1 #
      2 # GAMS - General Algebraic Modeling System Python API
      3 #
   (...)
     23 # SOFTWARE.
     24 #
---> 26 import _gams2numpy
     27 from gdxcc import *
     28 from gmdcc import *

ModuleNotFoundError: No module named '_gams2numpy'
Likewise when I try to import the gams module:

Code: Select all

---------------------------------------------------------------------------
ModuleNotFoundError                       Traceback (most recent call last)
Input In [3], in <cell line: 1>()
----> 1 import gams

File <frozen zipimport>:259, in load_module(self, fullname)

File ~\miniconda3\envs\gamsNeu38\lib\site-packages\gams-1.0-py3.8.egg\gams\__init__.py:32, in <module>
      1 #
      2 # GAMS - General Algebraic Modeling System Python API
      3 #
   (...)
     24 #
     25 # This file was generated.
     27 __all__ = ["DebugLevel", "GMS_MAX_INDEX_DIM", "SV_UNDEF", "SV_EPS", "GamsCheckpoint", "GamsDatabase", "GamsJob", "UpdateAction", "SymbolUpdateType", "GamsModifier", "GamsModelInstanceOpt", "GamsModelInstance", "Action", "CharSet", "GamsOptions", \
     28            "GamsEquationRecord", "GamsParameterRecord", "GamsSetRecord", "GamsVariableRecord", "GamsVariable", "GamsParameter", "GamsSet", "GamsEquation", "EquType", "VarType", "SolveStat", \
     29            "ModelStat", "GamsWorkspace", "GamsException", "GamsExceptionExecution", "GamsExitCode", \
     30            "PageContr", "Action", "LogLine", "AppendOut", "StepSum", "Suppress", "DFormat", "TFormat", "IntVarUp", "Case", "DumpParms", "ForceWork", "DumpOpt", "ErrMsg", "StringChk", "CharSet", "Keep", "TraceOpt", "SysOut", "SolPrint", "HoldFixed", "On115", "ExecMode", "InteractiveSolver", "FileCase", "SavePoint", "SolveLink", "Sys10", "Sys11", "ZeroResRep", "gdxCompress", "gdxConvert", "AppendExpand", "NoNewVarEqu", "gdxUels", "strictSingleton", "FDOpt", "PrefixLoadPath", "AsyncSolLst", "PyMultInst", "ShowOSMemory", "LstTitleLeftAligned", "FreeEmbeddedPython", "CaptureModelInstance", "CheckErrorLevel", "SuffixDLVars", "Digit", "Empty", "Filtered", "Listing", "PutNR", "PreviousWork", "HoldFixedAsync", "ReferenceLineNo", "ProcTreeMemMonitor" ]
---> 32 from .workspace import *
     33 from .database import *
     34 from .options import *

File <frozen zipimport>:259, in load_module(self, fullname)

File ~\miniconda3\envs\gamsNeu38\lib\site-packages\gams-1.0-py3.8.egg\gams\workspace.py:32, in <module>
     30 from subprocess import Popen
     31 import threading
---> 32 from .database import *
     33 from .execution import *
     34 from .options import *

File <frozen zipimport>:259, in load_module(self, fullname)

File ~\miniconda3\envs\gamsNeu38\lib\site-packages\gams-1.0-py3.8.egg\gams\database.py:26, in <module>
      1 #
      2 # GAMS - General Algebraic Modeling System Python API
      3 #
   (...)
     23 # SOFTWARE.
     24 #
---> 26 from gdxcc import *
     27 from gmdcc import *
     28 import os

File <frozen zipimport>:259, in load_module(self, fullname)

File ~\miniconda3\envs\gamsNeu38\lib\site-packages\gams2numpy-0.1-py3.8.egg\gdxcc.py:11, in <module>
      8 if _swig_python_version_info < (2, 7, 0):
      9     raise RuntimeError("Python 2.7 or later required")
---> 11 import _gdxcc
     13 try:
     14     import builtins as __builtin__

ModuleNotFoundError: No module named '_gdxcc'
I tried this in Conda environments using python version 3.8 and 3.9. But the error occurs for both versions.

Do I miss something? Any hints are more than welcome.
Best
Jan

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Mon Mar 28, 2022 1:35 pm
by Clemens
Jan,

With setuptools>=60.0.0 a breaking change has been introduced. Due to this breaking change the GAMS Python files are not installed correctly. To solve the issue, please try setting SETUPTOOLS_USE_DISTUTILS=stdlib before running setup.py

Let me know if this helps,
Clemens

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Mon Mar 28, 2022 7:01 pm
by Jan
Dear Clemens,

I tested it under python 3.8 and both import (gamstransfer and gams module) work fine.

Many thanks for your help!
Jan

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Wed Oct 12, 2022 3:29 am
by gams_learner58
Clemens wrote: 2 years ago Jan,

With setuptools>=60.0.0 a breaking change has been introduced. Due to this breaking change the GAMS Python files are not installed correctly. To solve the issue, please try setting SETUPTOOLS_USE_DISTUTILS=stdlib before running setup.py

Let me know if this helps,
Clemens
I tried to do this, but got this error:

Code: Select all

File "C:\Users\<name>\anaconda3\lib\re.py", line 210, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object
Is there a way to fix this? Thank you!

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Wed Oct 12, 2022 6:28 am
by bussieck
What anaconda version, what Python version? See https://conda.io/projects/conda/en/late ... vironments to produce a spec list. Please share this and give the exact sequence of command that resulted in the failure.

-Michael

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Wed Oct 12, 2022 7:02 am
by gams_learner58
bussieck wrote: 1 year ago What anaconda version, what Python version? See https://conda.io/projects/conda/en/late ... vironments to produce a spec list. Please share this and give the exact sequence of command that resulted in the failure.

-Michael
I'm using Python 3.9.12 and Anaconda 2022.05.

I simply

Code: Select all

cd C:\GAMS\wind64\40\apifiles\Python\api_39
then

Code: Select all

python setup.py install
then in python program:

Code: Select all

from gams import *
And I got the above error.

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Thu Oct 13, 2022 9:30 am
by bussieck
Was the "python setup.py install" successful? Perhaps you can share the output of the command. What about setting the SETUPTOOLS_USE_DISTUTILS environment variable? -Michael

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Thu Oct 13, 2022 4:06 pm
by gams_learner58
bussieck wrote: 1 year ago Was the "python setup.py install" successful? Perhaps you can share the output of the command. What about setting the SETUPTOOLS_USE_DISTUTILS environment variable? -Michael
python setup.py install was not successful for me. I did set:

Code: Select all

set SETUPTOOLS_USE_DISTUTILS=stdlib
prior to running python setup.py install, and get this error:

Code: Select all

File "C:\Users\<name>\anaconda3\lib\site-packages\setuptools\_vendor\importlib_metadata\__init__.py", line 855, in normalize
    return re.sub(r"[-_.]+", "-", name).lower().replace('-', '_')
  File "C:\Users\<name>\anaconda3\lib\re.py", line 210, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or bytes-like object

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Thu Oct 13, 2022 4:31 pm
by gams_learner58
Updated: I can now python setup.py install successfully. I can see gams module in my conda list.

However, trying to from gams import * I got this error:

Code: Select all

File "C:\Users\<name>\AppData\Roaming\Python\Python39\site-packages\gams2numpy-0.1-py3.9.egg\gmdcc.py", line 71, in <module>
    GMD_NRSYMBOLSWITHALIAS = _gmdcc.GMD_NRSYMBOLSWITHALIAS
AttributeError: module '_gmdcc' has no attribute 'GMD_NRSYMBOLSWITHALIAS'
So it looks like the python apis are still not installed properly?

Re: ModuleNotFoundError: No module named '_gams2numpy'

Posted: Fri Oct 14, 2022 9:41 am
by bussieck
This now sounds like a version mix up. Which GAMS system is active? Why did the GAMS installation files end up in the USER_BASE directory rather than the site-package directory of the conda environment? I also see that you had interaction with GAMS support and ran python setup.py install from the PowerShell but used the the CMD method to set environment variables. All these experiments resulted probably is a pretty messed up setup which is difficult to debug and rectify with email or thread ping pong. I suggest that you contact GAMS support to arrange for an interactive session to get this sorted out.

-Michael