установить omniorb python в virtualenv - PullRequest
4 голосов
/ 15 марта 2012

Я пытаюсь установить omniorb в virtualenv для python.

Выполнение этого с помощью входящего в комплект скрипта configure с omniorb кажется довольно сложным.

Кто-нибудь знает о скрипте pip, setup.py или easy_install для omniorb?

1 Ответ

10 голосов
/ 27 марта 2012

Из любопытства я только что попробовал это на Ubuntu 10.04. У меня нет решения для pip или setup.py, но оно не слишком сложное.

Я думаю, секрет заключается в том, чтобы установить переменную PYTHON, чтобы она указала на исполняемый файл python в вашем virtualenv. Я собрал omniORB и omniORBPy из исходного кода и установил их в каталог под моим virtualenv (указав параметр --prefix для настройки).

Затем вы должны поместить каталог site-packages, который создается в каталоге установки omniORB, на ваш PYTHONPATH. Я решил сделать это, создав файл omniorb.pth в папке site-packages моего virtualenv (подробнее об этом ниже).

Вот история оболочки того, что я сделал. Я работаю из каталога /home/brian/coding/python/virtualenvs. Вам придется мысленно скорректировать пути и т. Д. Для своей среды.

 virtualenv omniORB
 cd omniORB/
 . bin/activate
 cp /home/brian/Downloads/omni* .
 tar xvfj omniORB-4.1.6.tar.bz2 
 tar xvfj omniORBpy-3.6.tar.bz2 
 mkdir omniORB_install
 cd omniORB-4.1.6/
 mkdir build
 cd build
 ../configure --prefix=/home/brian/coding/python/virtualenvs/omniORB/omniORB_install/ PYTHON=/home/brian/coding/python/virtualenvs/omniORB/bin/python 
 make
 make install
 cd ../../omniORBpy-3.6/
 mkdir build
 cd build
 ../configure --prefix=/home/brian/coding/python/virtualenvs/omniORB/omniORB_install/ PYTHON=/home/brian/coding/python/virtualenvs/omniORB/bin/python --with-omniorb=/home/brian/coding/python/virtualenvs/omniORB/omniORB_install/
 make
 make install

Теперь вот тот файл omniorb.pth, о котором я упоминал ранее. Перейдите в верхнюю часть вашего virtualenv. Создайте omniorb.pth таким, чтобы он выглядел и находился так:

$ cat lib/python2.6/site-packages/omniorb.pth 
/home/brian/coding/python/virtualenvs/omniORB/omniORB_install/lib/python2.6/site-packages

Теперь внутри моего активированного virtualenv:

$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:09:56) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import CORBA
>>> CORBA.__file__
'/home/brian/coding/python/virtualenvs/omniORB/omniORB_install/lib/python2.6/site-packages/omniORB/CORBA.pyc'
>>>
...