我正在尝试在 python 的 virtualenv 中安装 omniorb。
使用随附的配置脚本和omniorb 来执行此操作似乎相当困难。
有人知道omniorb 的 pip、setup.py 或 easy_install 脚本吗?
出于好奇,我刚刚在 Ubuntu 10.04 上尝试了这个。我没有适合您的 pip 或 setup.py 解决方案,但这并不太难。
我认为秘密是设置 PYTHON 变量来配置为指向 virtualenv 中的 python 可执行文件。我从源代码构建了omniORB和omniORBPy并将它们安装到我的virtualenv下的目录中(通过指定
--prefix
选项进行配置)。
然后,您必须将在omniORB安装目录下创建的
site-packages
目录放在您的PYTHONPATH
上。我选择通过在 virtualenv 的 omniorb.pth
文件夹中创建一个 site-packages
文件来实现此目的(更多内容见下文)。
这是我所做的 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'
>>>
以防万一有人好奇,Brian Neal 的 answer 也适用于 Ubuntu 20.0 和 OmniORB v4.3.2
下载后,
wget -O omniORB-4.3.2.tar.bz2 https://sourceforge.net/projects/omniorb/files/omniORB/omniORB-4.3.2/omniORB-4.3.2.tar.bz2/download
wget -O omniORBpy-4.3.2.tar.bz2 https://sourceforge.net/projects/omniorb/files/omniORBpy/omniORBpy-4.3.2/omniORBpy-4.3.2.tar.bz2/download
提取文件
tar xvfj omniORB-4.3.2.tar.bz2
tar xvfj omniORBpy-4.3.2.tar.bz2
构建每个文件夹
cd omniORB-4.3.2/
mkdir build && cd build
../configure # Note: No arguments
make
sudo make install # Note: I need the sudo for other reasons
cd omniORBpy-4.3.2/
mkdir build && cd build
../configure
make
sudo make install
安装后,我可以在python中导入
Python 3.8.20 (default, Sep 17 2024, 02:58:30)
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import omniORB
>>> omniORB.__version__
'4.3.2'
>>>
感谢布莱恩的有效回答!