在 virtualenv 中安装omniorb python

问题描述 投票:0回答:2

我正在尝试在 python 的 virtualenv 中安装 omniorb

使用随附的配置脚本和omniorb 来执行此操作似乎相当困难。

有人知道omniorb 的 pip、setup.py 或 easy_install 脚本吗?

python virtualenv pip corba
2个回答
10
投票

出于好奇,我刚刚在 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'
>>>

0
投票

以防万一有人好奇,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'
>>> 

感谢布莱恩的有效回答!

© www.soinside.com 2019 - 2024. All rights reserved.