일부 C++ 클래스를 감싸기 위해 Boost.Python과 함께 사용하는 Jamfile이 있습니다.bjam의 pythonpath 기능 사용하기
rule run-test (test-name : sources +)
{
import testing ;
testing.make-test run-pyd : $(sources) : : $(test-name) ;
}
다음 :
PROJECT_NAME = example ;
run-test $(PROJECT_NAME) : $(PROJECT_NAME)_ext test_$(PROJECT_NAME)_ext.py ;
이 example_ext.so 구축 할 것, 다음 않는 test_example_ext.py 실행 나는 Jamfile 자동으로 파이썬 스크립트를 실행 후 컴파일 단계로 확장을로드가 간단한 "가져 오기 example_ext"다음 몇 가지 기본적인 테스트.
문제는 다른 패키지에서 일부 Python 모듈을 가져올 수 있도록 test_example_ext.py가 필요하므로 PYTHONPATH를 설정해야합니다. 커맨드 라인에서 이것은 문제가되지 않지만 bjam은 내 보낸 경우에도 생성 된 파이썬 프로세스로이를 수행하는 것처럼 보이지 않습니다.
$ export PYTHONPATH=..
즉 :
이 경우에는 내가 동등한를 찾고 있어요 파이썬 검색 경로를 bjam을 실행하는 곳의 한 수준 위에 설정합니다. 는내가 get로 관리했습니다 가장 가까운이 내가 원하는 것을 것을 해결하는 것입니다
$ bjam pythonpath=..
이 실제로 작동합니다. 하지만 Jamfile에서 명령 줄에 의존하지 않고 이것을 설정하려고합니다. 나는 이것이 속성 인이고 어딘가에서 <pythonpath>..
을 사용할 수 있다고 bjam 매뉴얼을 읽었습니다. 그러나 그것은 어디에서 말하지 않습니다.
내 문제는이 속성을 Jamfile에 지정하는 방법을 찾지 못한다는 것입니다. 어디로 간다? 구문은 무엇입니까? user-config.jam 또는 "run-pyd"또는 심지어 python 확장 규칙의 일부인 "import python;"또는 "python 사용 ..."의 일부입니까? 나는이 모든 것을 무작위로 이해하거나 성공하지 않고 시도했다.
는boost_1_50_0/tools/build/v2/tools/python.jam
에서 나는 발견
# PYTHONPATH 기능을 실행 PYD가 설정 한 PYTHONPATH
# 환경 변수에 대한 추가 요소를 지정합니다. 예를 들어 pythonpath를 사용하여
#에 액세스 할 수 있습니다. 개발 시스템의 기본 경로에
#이 설치되어 있지 않습니다.
feature.feature pythonpath : : 무료 선택적 경로; 'PYTHONPATH'속성 (일명 기능)를 선언하는 것으로 나타납니다,하지만 문맥
? 어디에서 어떻게 사용할 수 있습니까?
페이지 및 this 페이지에서는 이러한 선을 따라 속성을 정의하는 방법을 보여 주지만 실제로 사용하는 방법이나 위치는 설명하지 않습니다.