【问题标题】:ImportError: No module named 'cplex' Python on LinuxImportError:Linux 上没有名为“cplex”Python 的模块
【发布时间】:2017-07-21 10:03:59
【问题描述】:

我正在尝试在 HPC 机器 (RedHatEntrepriseServer) 上运行 python 脚本。管理员已经安装了 CPLEX 模块,但是在 python 中导入 cplex 模块时我仍然遇到此错误。

ImportError: No module named 'cplex'

我知道这是常见错误,我发现我可能需要使用 cplex 主目录更新 PYTHONPATH 变量,但我找不到这个主目录。有没有人有解决这个问题的想法或建议?!

非常感谢!

【问题讨论】:

  • 参考'~/.bashrc'
  • 使用命令updatedblocate
  • @danche:你能详细说明我可以在 '~/.bashrc' 文件中添加什么吗?
  • @skr:我如何使用这些命令? (locate cplex 没有给出任何输出)
  • @Betty export PYTHONPATH=$PYTHONPATH:cplex path

标签: python linux cplex


【解决方案1】:

正如 cmets 中提到的,设置PYTHONPATH 环境变量是一个非常合理的解决方案。使用PYTHONPATH 具有优势,例如允许您在多个版本的 CPLEX Python API 之间轻松切换。但是,另一种选择是要求您的系统管理员安装 cplex 模块。我的猜测是他们安装了 CPLEX Optimization Studio,但实际上并没有使用 setup.py 脚本将 CPLEX Python API 安装到系统的默认 Python 解释器中(这是一个需要单独执行的可选步骤)。请参阅相关文档here。另一种选择是让您使用 virtualenv 设置您自己的 Python 环境(例如,请参阅 here)。

【讨论】:

  • 管理员已经安装了 cplex 模块,但是对 cplex 目录的访问被隐藏了。感谢您提供更多信息!
  • 根据您在PYTHONPATH 中使用的路径,cplex 模块使用setup.py 脚本安装。在正常情况下,我们希望在路径中看到一个site-packages 目录。 COS 安装程序将文件复制到硬盘上,但不会将它们放在 Python 搜索路径中。如果使用了setup.py,则不需要设置PYTHONPATH。无论如何,我很高兴你找到了解决方案。
【解决方案2】:

感谢 skr 和 danche cmets,这是我解决问题的方法:

我使用以下命令查找 cplex 位置:

find / -iname "cplex"

然后我用这个位置更新了PYTHONPATH 变量:

export PYTHONPATH=$PYTHONPATH:/local/software/cplex/12.6.1/cplex/python/2.6/x86-64_linux

我使用最后一个命令更新了我的.bashrc 文件,因此每次登录时都会自动设置。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 2017-12-30
    • 2019-11-12
    • 1970-01-01
    • 2017-03-05
    • 2021-11-07
    相关资源
    最近更新 更多