如何设置使用完整版 CPLEX 的密钥?
How do I set the key for using the full version of CPLEX?
我已经购买了一个复杂的订阅并收到了一个使用密钥,但我不知道如何使用它,无论我尝试什么我总是收到 "no key, go purchase cplex here" 错误。
我在 Ubuntu 20.04 的 jupyter notebook 运行 中通过 docplex 使用 cplex。所有 python 东西都是使用 anaconda 安装的,cplex 和 docplex 已使用此处列出的 conda 安装命令安装:https://developer.ibm.com/docloud/blog/2017/01/23/cplex-python-now-available-anaconda-cloud/
这似乎工作正常,我可以解决小问题,但对于更大的问题,它会抛出一个错误,告诉我购买完整的产品。我已经设置了 CPLEX_STUDIO_KEY 环境变量,但错误仍然存在。除了 "set this env. var.",我找不到 任何 文档,错误只是假设你没有购买它而不是提供任何帮助..
我错过了什么?
可以找到输入 CPLEX API 密钥的官方文档 here (you've probably already seen this). This documentation assumes that you have installed the Community Edition (aka, the "free edition") of CPLEX Optimization Studio and you can find a link to download that here。如果你愿意,你可以这样做,你应该起床 运行.
另一种方法是使用未记录的 CPLEX_CPXCHECKLIC_BINDIR
环境变量。这对于可能不会选择安装其余 CPLEX Optimization Studio 的 Python 用户特别有用。当您将 cplex
软件包安装到您的 anaconda 环境中时(或通过 pip
安装的其他环境),它包含一个名为 cpxchecklic
的可执行文件。这可以在 Python 环境的 bin
或 Scripts
目录中找到。如果您将 CPLEX_CPXCHECKLIC_BINDIR
环境变量设置为包含 cpxchecklic
的目录,并且您已经正确设置了 CPLEX_STUDIO_KEY
环境变量,那么您就可以开始了。
如果您在遵循上述建议后仍然遇到问题,以下 Python 脚本可能会派上用场,以帮助解决您在使用 API 密钥时遇到的问题(请更新您的如果是这种情况,请询问输出):
"""Tests Python Download-and-go setup.
usage: python test.py [API_KEY] [CPXCHECKLIC_BINDIR]
The API_KEY and CPXCHECKLIC_BINDIR arguments are optional.
"""
import os
import sys
import cplex
# Column limit for the Community Edition.
CPLEX_COLUMN_LIMIT = 1000
# Print the CPLEX version.
print("Version:", cplex.__version__)
# Allow the user to pass in the API key.
if len(sys.argv) > 1:
os.environ["CPLEX_STUDIO_KEY"] = sys.argv[1]
# Allow the user to pass in the cpxchecklic bindir.
if len(sys.argv) > 2:
os.environ["CPLEX_CPXCHECKLIC_BINDIR"] = sys.argv[2]
# Print the environment variables.
for var in ("CPLEX_STUDIO_KEY",
"CPLEX_STUDIO_DIR1210",
"CPLEX_CPXCHECKLIC_BINDIR"):
print(var, "=", os.getenv(var))
# Create a model that will not work with the Community Edition.
cpx = cplex.Cplex()
cpx.variables.add(lb=[0.0] * (CPLEX_COLUMN_LIMIT + 1))
# Solve the model and print the solution status.
cpx.solve()
print("Status: {0} ({1})".format(cpx.solution.get_status_string(),
cpx.solution.get_status()))
我已经购买了一个复杂的订阅并收到了一个使用密钥,但我不知道如何使用它,无论我尝试什么我总是收到 "no key, go purchase cplex here" 错误。
我在 Ubuntu 20.04 的 jupyter notebook 运行 中通过 docplex 使用 cplex。所有 python 东西都是使用 anaconda 安装的,cplex 和 docplex 已使用此处列出的 conda 安装命令安装:https://developer.ibm.com/docloud/blog/2017/01/23/cplex-python-now-available-anaconda-cloud/
这似乎工作正常,我可以解决小问题,但对于更大的问题,它会抛出一个错误,告诉我购买完整的产品。我已经设置了 CPLEX_STUDIO_KEY 环境变量,但错误仍然存在。除了 "set this env. var.",我找不到 任何 文档,错误只是假设你没有购买它而不是提供任何帮助..
我错过了什么?
可以找到输入 CPLEX API 密钥的官方文档 here (you've probably already seen this). This documentation assumes that you have installed the Community Edition (aka, the "free edition") of CPLEX Optimization Studio and you can find a link to download that here。如果你愿意,你可以这样做,你应该起床 运行.
另一种方法是使用未记录的 CPLEX_CPXCHECKLIC_BINDIR
环境变量。这对于可能不会选择安装其余 CPLEX Optimization Studio 的 Python 用户特别有用。当您将 cplex
软件包安装到您的 anaconda 环境中时(或通过 pip
安装的其他环境),它包含一个名为 cpxchecklic
的可执行文件。这可以在 Python 环境的 bin
或 Scripts
目录中找到。如果您将 CPLEX_CPXCHECKLIC_BINDIR
环境变量设置为包含 cpxchecklic
的目录,并且您已经正确设置了 CPLEX_STUDIO_KEY
环境变量,那么您就可以开始了。
如果您在遵循上述建议后仍然遇到问题,以下 Python 脚本可能会派上用场,以帮助解决您在使用 API 密钥时遇到的问题(请更新您的如果是这种情况,请询问输出):
"""Tests Python Download-and-go setup.
usage: python test.py [API_KEY] [CPXCHECKLIC_BINDIR]
The API_KEY and CPXCHECKLIC_BINDIR arguments are optional.
"""
import os
import sys
import cplex
# Column limit for the Community Edition.
CPLEX_COLUMN_LIMIT = 1000
# Print the CPLEX version.
print("Version:", cplex.__version__)
# Allow the user to pass in the API key.
if len(sys.argv) > 1:
os.environ["CPLEX_STUDIO_KEY"] = sys.argv[1]
# Allow the user to pass in the cpxchecklic bindir.
if len(sys.argv) > 2:
os.environ["CPLEX_CPXCHECKLIC_BINDIR"] = sys.argv[2]
# Print the environment variables.
for var in ("CPLEX_STUDIO_KEY",
"CPLEX_STUDIO_DIR1210",
"CPLEX_CPXCHECKLIC_BINDIR"):
print(var, "=", os.getenv(var))
# Create a model that will not work with the Community Edition.
cpx = cplex.Cplex()
cpx.variables.add(lb=[0.0] * (CPLEX_COLUMN_LIMIT + 1))
# Solve the model and print the solution status.
cpx.solve()
print("Status: {0} ({1})".format(cpx.solution.get_status_string(),
cpx.solution.get_status()))