Исходный код показывает, что pyomo
поставляется с несколькими интерфейсами решателя CPLEX.Один из этих интерфейсов требует, чтобы исполняемый файл cplex (то есть интерактивный CPLEX) находился в вашем PATH
, и я считаю, что это значение по умолчанию. Однако при установке пакета anaconda cplex
вы делаете , а не получить этот исполняемый файл. Это частично объясняет сообщение об ошибке, которое вы получаете.
Если вы хотите использовать интерфейс CPLEXSHELL
(т. Е. Тот, который отправляется интерактивному CPLEX), то вы 'Вам нужно будет установить одну из редакций IBM ILOG CPLEX Optimization Studio (например, бесплатную Community Edition), а затем обновить PATH
, указав COS_INSTALL_DIR/cplex/bin/PLATFORM
(где COS_INSTALL_DIR
- это место, в котором вы установили CPLEX Optimization Studio, и PLATFORM
это платформа, на которой вы установили (например, x86-64_linux
)).
В качестве альтернативы, и я думаю, что это то, что вы действительно пытаетесь сделать, если вы хотите использовать интерфейс pyomo
, который соединяетв CPLEX Python API, вам просто нужно исправить переменные окружения.
Вместо:
export PATH="/home/yash/anaconda3/envs/my_env/lib/python3.6/site-packages/cplex:$PATH"
Попробуйте использовать:
export PYTHONPATH="/home/yash/anaconda3/envs/my_env/lib/python3.6/site-packages:$PYTHONPATH"
Кроме того, это не такСовершенно ясно, но похоже, что вы установили пакет cplex
в виртуальную среду Python (иначе, virtualenv).Если это так, то вам просто нужно «активировать» virtualenv, и пакет cplex
будет автоматически доступен.Например, для вас может работать следующее:
cd /home/yash/anaconda3/envs/my_env/
source bin/activate
# use pyomo and cplex here
# when you're done, deactivate the virtualenv, like so:
deactivate