난 omniorb을 virtualenv에 python으로 설치하려고합니다.virtualenv에 omniorb python을 설치하십시오
omniorb와 함께 포함 된 configure 스크립트를 사용하면 다소 어려워 보입니다.
누군가가 옴 파이어, setup.py 또는 easy_install 스크립트에 대해 알고 있습니까?
난 omniorb을 virtualenv에 python으로 설치하려고합니다.virtualenv에 omniorb python을 설치하십시오
omniorb와 함께 포함 된 configure 스크립트를 사용하면 다소 어려워 보입니다.
누군가가 옴 파이어, setup.py 또는 easy_install 스크립트에 대해 알고 있습니까?
호기심에서 우분투 10.04에서이 기능을 사용해 보았습니다. 나는 pip 또는 setup.py 솔루션이 없지만 너무 어렵지 않습니다.
내가 생각하는 비밀은 PYTHON 변수를 virtualenv의 python 실행 파일을 가리 키도록 설정하는 것입니다. 소스에서 omniORB와 omniORBPy를 빌드하고 (구성 할 --prefix
옵션을 지정하여) 내 virtualenv 아래에 디렉토리에 설치했습니다.
그런 다음 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'
>>>
이것은 매력처럼 작동합니다. 장엄한 무언가가 일어나지 않는 한, 나는이 대답을 곧 받아 들일 것이다. – mirk
방금 시도했지만 lib 디렉토리에있을 때만 작동합니다. 당신의 예제에서는'/ home/brian/coding/python/virtualenvs/omniORB/omniORB_install /'이 될 것입니다. 귀하의 예제에서 다른 디렉토리에 나는 : ... import _omnipy ImportError : libomniORB4.so.2 : 공유 객체 파일을 열 수 없습니다 : 해당 파일이나 디렉토리가 없습니다. ' 그래서 나는'activate' 스크립트에 해킹을 추가하여'LD_LIBRARY_PATH'를 변경 (그리고 복원)해야했습니다. – Patryk
@Patryk 만약'lib' 디렉토리에있을 때만 작동한다면 virtualenv는 활성화되어 있지 않고 현재 디렉토리에 필요한 파일을 찾는 것처럼 들립니다. –
? Linux, Windows 또는 ...? –
나의 주요 환경은 우분투 11.04 64 비트이지만, 나는 플랫폼과 무관 한 것을 기대하고 있었다. – mirk