2016-09-08 2 views
3

내 랩톱에 내 클러스터에 배포 할 수있는 콘도 환경을 만들고 싶습니다. 압축을 풀고,재배포 가능한 콘도 환경

  1. 환경을 압축 할 수있는 다른 아키텍처에 대한 CONDA 환경을 만들 수 다른 파일 시스템에서 다른 장소로 이동하려면이 들어 나는 두 가지를 원한다 레 데프 들어

    conda create --arch=linux-64 ... 
    

    : 그것은, 나는 몇 가지 옵션이 있기를 바랍니다 /path/to/myenv/bin/python ...

를 실행 다음과 같은 아키텍처를 지정 CONDA은 만들 loyability 하드 링크를 피하기 위해 --copy 옵션을 사용해 보았습니다.이 경우 은 적어도 간단한 경우에는이 잘 작동합니다. 이 접근법이 실패 할 경우 또는 일반적인 패키지가 있습니까? 패키지가 환경 밖의 파일에 의존 할 때 효과를 높이거나 경고하도록 할 수있는 다른 것들이 있습니까?

답변

2

현재 conda는 임의 아키텍처의 환경을 만드는 직접적인 방법이 없습니다. 나는 또한 정확하게 그것이 얼마나 실현 가능한지 잘 모르겠습니다. 대다수의 패키지는 메타 데이터 일 뿐이며 완전히 실행 가능합니다. 하지만 바이너리 패키지의 경우 바이너리에 포함 된 접두사를 바꿔야합니다. 파이썬 (https://github.com/conda/conda/blob/9c1750349b4c1d66a9caf95d21a9edf90e1eb9cf/conda/install.py#L250-L271)으로 끝났으므로 잘 될 것이라고 생각합니다.하지만 바이너리가 이해되지 않으면 (예 : Mac에서 Linux 환경을 생성하는 경우), 이는 중단 될 수 있습니다.

우리는 분명히 PoC를 해킹하여 작동 원리를 확인할 수 있습니다.

패키지는 실제로는 핵심 시스템 라이브러리 (예 : glibc)를 제외하고는 외부 파일에 의존해서는 안됩니다. 빌드시에 경고하는 것은 좋은 일이지만 설치 시간에 대한 걱정이라고 생각하지 않습니다.