可以在此处找到用于输入 CPLEX API 密钥的官方文档(您可能已经看过这个)。本文档假定您已安装 CPLEX Optimization Studio 的社区版(又名“免费版”),并且可以在此处找到下载链接。如果您愿意,您可以这样做,并且您应该启动并运行。
另一种方法是使用未记录的CPLEX_CPXCHECKLIC_BINDIR
环境变量。这对于可能不选择安装其余 CPLEX Optimization Studio 的 Python 用户特别有用。当您将cplex
软件包安装到您的 anaconda 环境(或其他pip
通过cpxchecklic
. 这可以在Python 环境的bin
or目录中找到。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()))