2012-07-16 2 views
3

파이썬 달걀 버전에 문제가 있습니다. 내 개발 컴퓨터에서 python-ldap 버전 2.3.13, 컴퓨터의 대학 버전은 2.3.10입니다. python-ldap lib는 모두 os 레벨에 설치됩니다.zc.buildout versions

빌드python-ldap 버전을 찾아 볼 수 있습니까?

나는 이런 식으로 뭔가를 찾고 있어요 :

# using buildout-versions extension 
[versions] 
python-ldap = any 
or 
python-ldap => 2.1 

내가 다른 계란 최신 버전을 좀하고 싶습니다 이후, buildout -N을 사용하고자하지 않을 것입니다.

[buildout] 
versions = myversions 

[versions] 
python-ldap = 2.3.13 

[buildout] 섹션 이름의 versions 키 부분은 대부분의 단지 부분 [versions] 전화 (핀에 사용되는 :

답변

3

Buildout 만의 당신 핀 (정확한)를 versions 섹션을 사용하여 버전하자 게다가).

기계와 다른 버전으로 고정해야하는 경우 외부 매개 변수를 기반으로하는 버전을 생성하는 제조법을 사용해야합니다. 다음 예에서

나를 위해 버전 핀을 가져 오기 위해 몇 가지 파이썬을 실행하기 위해 mr.scripty recipe을 사용하고 있습니다 :

[buildout] 
versions = versions 

[versions] 
python-ldap = ${dynamic:python-ldap} 

[dynamic] 
recipe = mr.scripty 
python-ldap = 
    ... import subprocess 
    ... return subprocess.check_output(
    ... 'dpkg-query', '-W', '-f', '${Version}', 'python-ldap').rsplit('-')[0] 

위의 예제에 파이썬 - LDAP 패키지의 버전을 확인하기 위해 dpkg-query 유틸리티를 사용하여 데비안 또는 우분투; 자신의 플랫폼에 맞게 조정하십시오.

+0

스마트하게 보입니다. 나는 import ldap을 얻는 더 간단한 방법이 있다고 생각한다; ldap .__ version__'. – aisbaa

+0

@aisbaa : 괜찮습니다. :-) 어떤 기술이든 당신을 위해 일하면서, 트릭은 동적 인 부분을 사용하여 처음에 정보를 생성하는 것입니다. –

관련 문제