728x90

Window에 설치된 Python 가상환경을 Linux로 옮겨보겠습니다.

Anaconda 가상환경은 운영체제끼리는 같아야 yml 기반으로 가상환경 생성 과정에서 에러가 생기지 않습니다.

  • 일부 OS 플랫폼에서는 사용할 수 없는 패키지가 있습니다.
    • Linux에서만 사용할 수 있는 패키지와 Windows에서만 사용할 수 있는 패키지가 있어 빌드버전은 OS에 따라 다를 수 있습니다.

Conda does not check architecture or dependencies when installing from a spec file. To ensure that the packages work correctly, make sure that the file was created from a working environment, and use it on the same architecture, operating system, and platform, such as linux-64 or osx-64.

1. 가상환경 Export

빌드 버전의 OS종속성을 제거하기 위해 --no-build 옵션을 사용하여 가상환경을 추출합니다.

conda env export -n "가상환경이름" --no-build > envrionment.yml

2. 가상환경 생성

Linux 환경에서 Anaconda 가상환경을 생성합니다.

conda create -n "가상환경이름" python=3.9

3. 가상환경 업데이트

생성한 가상환경을 추출한 environment.yml로 업데이트 해줍니다.

conda env update -n "가상환경 이름" -f environment.yml

가상환경 업데이트를 하면 다음과 같이 찾을 수 없는 패키지가 확인 됩니다.

Output:

Solving environment: failed

ResolvePackageNotFound:
  - vs2015_runtime=14.27.29016
  - wincertstore=0.2
  - vc=14.2

해당 항목들을 anaconda 패키지 리스트에 확이하면, 다음과 같이 Window OS 종속된 항목으로 Linux에 지원되지 않는 패키지 임을 확인 할 수 있습니다.

window에만 설치 가능한 패키지를 삭제하고 다시 가상환경을 업데이트 합니다.

conda env update -n "가상환경 이름" -f environment.yml

Reference

  1. https://stackoverflow.com/questions/55895751/using-a-conda-env-created-on-windows-for-linux
  2. https://ahelpme.com/software/anaconda/conda-export-environment-and-conda-import-environment/
  3. https://techhelpnotes.com/python-conda-environment-from-windows-to-linux/
  4. https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html
728x90
반응형

+ Recent posts