와 entry_points로
나는 설치 스크립트의 기본 경로가 필요합니다.
스크립트가 이미 존재하는 경우, 가장 좋은 방법은 그것을합니다 (which
명령 등) 실행 파일을 찾고, $PATH
에 내용을 통해 검색하는 것입니다 찾을 수 있지만, 당신이
계신되지 않을 수도 있습니다
distutils.sysconfig 모듈이 더 도움이 될 수 있습니다.
>>> [(k, v) for (k, v) in distutils.sysconfig.get_config_vars().items() if "/tmp/so" in str(v)]
[('prefix', '/private/tmp/so/blah'), ('exec_prefix', '/private/tmp/so/blah')]
:
$ export WORKON_HOME='/tmp/so'
$ mkvirtualenv blah
$ python
Python 2.7.2
>>> import os
>>> import distutils.sysconfig
>>> pre = distutils.sysconfig.get_config_var("prefix")
>>> bindir = os.path.join(pre, "bin")
>>> print bindir
/tmp/so/blah/bin
요식 난 당신이 더 구체적인 위치를 찾을 필요가 있다면 pip install pyflakes
가 get_config_vars
딕셔너리가 유용 할 수 있습니다 실행하는 경우 예를 pyflakes
에 대한 끝, 디렉토리입니다
sys
모듈을 통해 이러한 변수 중 일부에 편리하게 액세스 할 수 있습니다 (sys.prefix
및 sys.execprefix
등).
출처
2012-03-20 07:58:19
dbr
당신이 묻고있는 것에 대해 더 분명하게 나타낼 수 있습니까? 나는 잘 형성된 질문을 여기에서 보지 못한다. – Paragon
다른 답변도 수락 할 수 있습니까? Bye – jdi
setup.py에서 console_command를 entry_point로 설명 할 수 있습니다 (http://packages.python.org/distribute/setuptools.html#automatic-script-creation).이 명령은 시스템의 일부 경로에 만들어집니다. ''/ usr/local/bin /' '이라고 가정하지 않고 그 경로를 검사 할 방법이 있는지를 아는 것은 virtualenv 안에 패키지를 설치하면 다른 경로에 있기 때문이다. –