出于好奇,我刚刚在 Ubuntu 10.04 上进行了尝试。我没有适合您的 pip 或 setup.py 解决方案,但这并不太难。
我认为秘诀是设置 PYTHON 变量以配置为指向您的 virtualenv 中的 python 可执行文件。我从源代码构建了 omniORB 和 omniORBPy,并将它们安装到我的 virtualenv 下的目录中(通过指定要配置的 --prefix 选项)。
然后,您必须将在omniORB 安装目录下创建的site-packages 目录放在您的PYTHONPATH 上。我选择通过在我的 virtualenv 的 site-packages 文件夹中创建一个 omniorb.pth 文件来做到这一点(更多内容见下文)。
这是我所做的 shell 历史。我正在使用目录/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'
>>>