首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python 3.7无法使用DOCPLEX

Python 3.7无法使用DOCPLEX
EN

Stack Overflow用户
提问于 2021-04-16 07:08:30
回答 4查看 557关注 0票数 0

我已经编码了一个数学模型,并希望使用DOCPLEX模块来解决它。我的解释器是Python 3.7。但是,在做了大量工作之后,我将面临以下错误:

代码语言:javascript
运行
复制
Traceback (most recent call last):
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 290, in get_cplex_module
    import cplex  #@UnresolvedImport
  File "C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.8\x64_win64\cplex\__init__.py", line 44, in <module>
    from .aborter import Aborter
  File "C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.8\x64_win64\cplex\aborter.py", line 13, in <module>
    from ._internal import _procedural as _proc
  File "C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.8\x64_win64\cplex\_internal\__init__.py", line 20, in <module>
    from . import _list_array_utils
  File "C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.8\x64_win64\cplex\_internal\_list_array_utils.py", line 14, in <module>
    from . import _pycplex as CPX
  File "C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.8\x64_win64\cplex\_internal\_pycplex.py", line 13, in <module>
    from . import _pycplex_platform
  File "C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.8\x64_win64\cplex\_internal\_pycplex_platform.py", line 22, in <module>
    from cplex._internal.py37_cplex2010 import *
ModuleNotFoundError: No module named 'cplex._internal.py37_cplex2010'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "C:/Users/xxx/PycharmProjects/pythonProject/EPC _LTC.py", line 11, in <module>
    mdl = Model("LTC")
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\model.py", line 398, in __init__
    self._environment = self._make_environment()
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\model.py", line 174, in _make_environment
    env = Environment.get_default_env()
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 427, in get_default_env
    Environment._default_env = Environment.make_new_configured_env()
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 422, in make_new_configured_env
    return Environment(start_auto_configure=True)
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 84, in __init__
    self.auto_configure(logger=logger)
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 220, in auto_configure
    self.check_cplex(logger=logger)
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 328, in check_cplex
    cplex = self.get_cplex_module(logger=logger)
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 314, in get_cplex_module
    cplex = load_cplex_from_cos_root(loc) if loc else None
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 286, in load_cplex_from_cos_root
    return load_cplex(full_path, version=version)
  File "C:\Users\xxx\PycharmProjects\pythonProject\venv\lib\site-packages\docplex\mp\environment.py", line 261, in load_cplex
    raise FileNotFoundError("Could not load module from %s" % module_location)
FileNotFoundError: Could not load module from C:\Program Files\IBM\ILOG\CPLEX_Studio201;C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.7\x64_win64;C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python\3.7\x64_win64\cplex;\cplex\python\3.7\x64_win64\cplex\__init__.py

我已经在Pycharm的终端中运行了以下代码:

代码语言:javascript
运行
复制
cd C:\Program Files\IBM\ILOG\CPLEX_Studio201\python
python setup.py install

代码语言:javascript
运行
复制
cd C:\Program Files\IBM\ILOG\CPLEX_Studio201\python
python setup.py install --home C:\Users\xxx\PycharmProjects\pythonProject\venv\Lib\site-packages\cplex

最后,我还将我自己用户名的path变量设置为如下所示:

代码语言:javascript
运行
复制
"C:\Program Files\IBM\ILOG\CPLEX_Studio129\cplex\python\3.6\x64_win64" and
"C:\Program Files\IBM\ILOG\CPLEX_Studio129\cplex\bin\x64_win64\cplex.exe"
EN

回答 4

Stack Overflow用户

发布于 2021-04-16 07:12:44

在我的例子中,我升级到了python 3.8并解决了这个问题

或者,您可以使用以下命令:

代码语言:javascript
运行
复制
pip install docplex==2.15.194
票数 1
EN

Stack Overflow用户

发布于 2021-04-16 16:08:39

问题是python setup.py install不能保证你使用的python解释器和你的虚拟环境是一样的。

在运行安装脚本之前,您需要激活env。请打开终端,然后运行:

代码语言:javascript
运行
复制
C:\Users\xxx\PycharmProjects\pythonProject\venv\Scripts\activate

然后你就可以

代码语言:javascript
运行
复制
cd C:\Program Files\IBM\ILOG\CPLEX_Studio201\cplex\python
pip install .
票数 1
EN

Stack Overflow用户

发布于 2021-04-16 17:22:04

Docplex有一个check_list.py脚本,它可以帮助诊断cplex版本的存在和位置。在存在Python的终端中,键入

代码语言:javascript
运行
复制
$ python -m docplex.mp.check_list

答案看起来像这样:

代码语言:javascript
运行
复制
* system is: Windows 64bit
* Python version 3.7.8, located at: C:\python\anaconda2020.02\envs\docplex37\python.exe
* docplex is present, version is 2.20.204
* CPLEX library is present, version is 12.10.0.0, located at: C:\OPTIM\cplex_distrib\cplex1210R0\python\3.7\x64_win64
* pandas is present, version is 1.1.4
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67117070

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档