python-3.x - 添加将 docplex 链接到 python3 的路径
问题描述
我正在将 Cplex python API 安装到我的 MacBook 中。所以我按照 YouTube 中给出的教程(https://www.youtube.com/watch?v=oINxanpv_2M)并使用终端说明安装了 Cplex 的脚本和库:
cd /Users/my_name/IBM_CPLEX/CPLEX_Studio1210/python
python3 setup.py install
这部分在安装所有东西的情况下都可以正常工作,只是在开始时终端的一条注释说“找不到python包装器”。
然后我使用测试了一个现有的 Cplex 问题
cd IBM_CPLEX/CPLEX_Studio1210/python/examples/mp/modeling
python3 production.py
,它返回:
Model: production
- number of variables: 6
- binary=0, integer=0, continuous=6
- number of constraints: 5
- linear=5
- parameters: defaults
Traceback (most recent call last):
File "production.py", line 101, in <module>
if model.solve():
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/docplex/mp/model.py", line 4152, in solve
return self.fatal("CPLEX runtime not found: please install CPLEX or solve this model on DOcplexcloud")
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/docplex/mp/model.py", line 884, in fatal
self._error_handler.fatal(msg, args)
File "/Library/Frameworks/Python.framework/Versions/3.8/lib/python3.8/site-packages/docplex/mp/error_handler.py", line 210, in fatal
raise DOcplexException(resolved_message)
docplex.mp.utils.DOcplexException: CPLEX runtime not found: please install CPLEX or solve this model on DOcplexcloud
所以我最初的猜测是我的 python 3 已经安装在 Library 文件夹下的另一个目录中,并且需要一个路径来将 Cplex 引擎链接到 python 求解器(如果正确)。在 YouTube 教程中,实际上提供了一个 PATH ,所以在我的例子中它被写成:
PATH="/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}"
export PATH
export PYTHONPATH=/Users/my_name/IBM_CPLEX/CPLEX_Studio1210/cplex/python/3.7/x86-64_osx
我之前实际上已经将 Cplex python API 安装到了 Windows PC 中。添加路径的步骤是通过访问:控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 环境变量来完成的。访问 ( https://www.youtube.com/watch?v=hqGZzRh00y0 ) 了解具体的进一步步骤。
但是,我尝试了很多方法将此路径添加到我的 Mac,到目前为止,我已经使用这些方法来编写上述路径,但没有一个奏效:
nano .bash_profile.pysave
nano .bash_profile
sudo nano /etc/paths
这就是我卡住的地方。任何帮助和评论将不胜感激。我是 Mac 终端的新手。如果有帮助的话,Anaconda 也安装在我的 Mac 中。
对大量细节感到抱歉 - 试图放下一切,以防万一我做错了什么没有被注意到。谢谢。
补充:上述过程中的一个小问题是我的Python实际上是3.8。因此,在添加路径export PYTHONPATH=/Users/my_name/IBM_CPLEX/CPLEX_Studio1210/cplex/python/3.7/x86-64_osx
并运行 cplex 示例后,终端内会弹出一条消息:
Exception: CPLEX 12.10.0.0 is not compatible with this version of Python.
需要下载较旧的 3.7 版本,然后$ python3.7 setup.py install
在将我的目录更改为IBM_CPLEX/CPLEX_Studio1210/python
.
关于 Python 版本的一些类似问题已经在帖子中讨论过:CPLEX 和 Python 3.7。
解决方案
推荐阅读
- python - 如何读取 CSV 电子邮件正文并将其保存到 CSV 文件?
- javascript - 代码镜像 - 如何将信息存储在注释或元数据中?
- hook - IAT 挂钩问题 - 调用旧函数
- javascript - 正则表达式抓取匹配前后的所有文本,并在找到第二个关键字之前停止
- node.js - 从中间件响应中解构赋值对象
- php - Symfony:从与当前请求中使用的防火墙不同的防火墙检索用户
- awk - 在 csv 文件中查找重复的字符串
- mysql - 在 codeigniter 查询生成器上选择连接
- html - 如何将我的 SS 登录页面(自动/循环播放)上的 iframe 转换为网站其余部分的链接?
- c# - System.Web.Hosting.HostingEnvironment.SiteName 括号里有个数字,这是什么