2012-03-15 24 views
4

私はomniorbをpythonのvirtualenvにインストールしようとしています。virtualenvにomniorb pythonをインストール

omniorbを含むconfigureスクリプトを使用してこれを行うのはむしろ難しいようです。

誰もがピップ、setup.pyやomniORBのためのeasy_installをスクリプトを知っていますか?

+0

? Linux、Windows、または...? –

+0

私の主な環境はubuntu 11.04 64ビットですが、私は何かプラットフォームに依存しないことを望んでいました。 – mirk

答えて

10

私はUbuntu 10.04でこれを試しました。私はあなたのためのpipまたはsetup.pyソリューションを持っていないが、あまりにも難しくありません。

私は秘密があなたのvirtualenvの中でPythonの実行ファイルを指すように設定するには、Pythonの変数を設定することだと思います。私はomniORBとomniORBPyをソースからビルドし、virtualenv下のディレクトリにインストールしました(設定するには--prefixオプションを指定します)。

次に、PYTHONPATHのomniORBインストールディレクトリに作成されたsite-packagesディレクトリを作成する必要があります。私はこれを、virtualenvのsite-packagesフォルダにomniorb.pthというファイルを作成することで選択しました。

ここに私がしたことのシェルの歴史があります。私はディレクトリ/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

これは魅力のように機能します。何か壮観なことが起こらない限り、私はすぐにこの答えを受け入れます。 – mirk

+0

私はちょうどこれを試して、それは私のために働いたが、私が 'lib'ディレクトリにいるときにのみ、例えばあなたの例では '/ home/brian/coding/python/virtualenvs/omniORB/omniORB_install /'になります。あなたの例の他のディレクトリでは、私は '... import _omnipy ImportError:libomniORB4.so.2:共有オブジェクトファイルを開くことができません:そのようなファイルやディレクトリはありません。そこで、 'activate'スクリプトにいくつかのハックを加えて' LD_LIBRARY_PATH'を変更(および復元)する必要がありました。 – Patryk

+0

@Patryk 'lib'ディレクトリにあるときにのみ動作し、virtualenvがアクティブでなく、カレントディレクトリに必要なファイルを見つけているように見える場合は、@Patrykを実行します。 –

関連する問題