2016-01-13 13 views
0

У меня есть Anaconda 3, установленная в /opt/anaconda3/ и программное обеспечение оптимизации Gurobi, установленное в /opt/gurobi650/. Я хочу иметь возможность загружать библиотеки Gurobi после того, как вы запустили /opt/anaconda3/bin/python (т. Е. Питон Anaconda, а не системный python) с помощью команды import gurobipy. В настоящее время, анаконда питон не искать там, как кодНастройка корневого пути в Anaconda python

import sys 
sys.path 

наводит на мысль - он возвращает список библиотек в каталоге анаконды. Однако команда import gurobipy работает с /usr/bin/python - поскольку в ней используется переменная среды PATH.

Я понимаю, что я мог бы добавить каталог Gurobi в sys.path, но я хочу изменить корень sys.path Anaconda, потому что библиотека должна быть доступна по умолчанию.

В обычной системной среде это просто изменить переменные среды PATH и LD_LIBRARY_PATH с файлами в /etc/profile.d/. Что было бы аналогичным решением для использования Anaconda python?

EDIT: Чтобы импортировать gurobipy, это фактически /usr/local/lib/python3.4/dist-packages, который необходимо добавить в sys.path, а не что-нибудь в каталоге /opt/gurobi650.

EDIT: Это на Linux (Ubuntu 14.04).

+0

Итак, вы не установили это расширение в этот пользовательский Python, и хотите его подделать? –

+0

Предполагая, что то, что вы подразумеваете под «установкой расширения в пользовательский python», является установка пакета gurobi anaconda через каналы, тогда ответ - нет, я этого не делал и да, я хочу его подделать. Я попробовал пакет conda gurobi, но у меня возникли проблемы и, учитывая, что это кажется довольно простой проблемой, я ожидал, что будет довольно простой ответ (который, к сожалению, Google не предоставил :() – Charlie

+0

Я думаю, вы хотите установите пакет, который был скомпилирован против любого настраиваемого python, который вы хотите использовать. Таким образом, это означает узнать все о том, как построена среда conda gurobi, включая установку ее из источников и всех инструментов, используемых при ее создании, вы не указываете если вы в Linux, но ваш путь/usr говорит мне, что вы не в Windows. Если вы разработчик C, вы должны собрать материал gurobi из исходного кода. Если вы этого не сделаете, вы, вероятно, не сможете сделайте это. Простое зависит от уровня навыка C/unix. –

ответ

1

Вы всегда можете добавить его в переменную окружения PYTHONPATH, который будет предварять sys.path:

export PYTHONPATH=/opt/gurobi650/ 

Это хак, чтобы добавить /usr/local/lib/python3.4/dist-packages к вашему sys.path при использовании Python Anaconda. Распределение Anaconda отличается от версии ОС, возможно, таким образом, что может вызвать некоторые головные боли.

+0

Предполагается, что любые расширения python в/opt/gurobi650 являются бинарной совместимостью с этим пользовательским питоном, которого это может не быть. Предположим, что оба являются python3.4. Будем надеяться, что они совместимы с ABI, но, возможно, это не так. Шансы около 90%, они НЕ совместимы с бинарными. –

+0

Связанный вопрос, где они определенно не бинарно совместимы в Windows. Не уверен в Linux. http://stackoverflow.com/questions/25228687/how-to-use-mysql-with-anacondas-python-ide –

+0

Спасибо - это решение работает на Linux, очевидно :) – Charlie