내가 작업중인 프로젝트는 많은 빌드 단계에서 패브릭을 사용하며 대체 빌드로 오프라인 빌드가 필요합니다.오프라인 패키지 설치용 패브릭
현재 tarball에 제공된 python 패키지를 설치하는 데 어려움이 있습니다.
문제는 새로 추출 된 디렉토리에 들어가서 setup.py install
을 실행하는 데 문제가 있습니다.
@task
def deploy_artifacts():
"""Installs dependencies from local path, useful for offline builds"""
#TODO: Handle downloading files and do something like this bellow
tmpdir = tempfile.mkdtemp()
artifacts_path = ''
if not 'http' in env.artifacts_path:
artifacts_path = env.artifacts_path
with lcd(artifacts_path):
for f in os.listdir(artifacts_path):
if 'gz' in f:
put(f, tmpdir)
tar = os.path.join(tmpdir, f)
target_dir = os.path.join(tempfile.gettempdir(), normalize(f))
if not files.exists(target_dir):
run('mkdir %s' % target_dir)
else:
run('rm -rf %s' %target_dir)
run('mkdir %s' % target_dir)
run('tar xf %s -C %s' % (tar, target_dir))
run('rm %s' % tar)
with cd(target_dir):
sudo('python setup.py install')
은 내가 bazillion 시간의 tar
man 페이지를 읽고 와서 내가 원하는 것을 얻기에 갑자기 근처에 있어요.
여러분 중 일부가 이와 같은 상황에 직면 했습니까? 이 시나리오에 대한 다른 (읽기 : 더 나은) 접근법이 있습니까?
어떤 특별한 오류 메시지가 있습니까? 이 방법을 목표로하는 것을 제안하기가 어렵습니다. – favoretti
_maybe_의 경우,'tar'를'/ bin/tar'로 바꾸어보십시오. 또한'run'의 오류 출력을 인쇄하여 어떤 단계가 실패하는지 확인하십시오. – favoretti
나는 내 단계에서 오류가 없다. 단지 확장 된 디렉토리를'tar '출력으로 얻을 수 없다는 것이다. – tutuca