使用conda将Windows下的机器学习环境迁移到Linux

文章讲述了如何在Windows上使用PyCharm开发的项目转移到Ubuntu服务器上时,处理环境配置的问题。通过使用`condaenvexport--no-builds`命令创建不含构建信息的YAML文件,可以确保软件包在不同操作系统间兼容。之后,可以在Ubuntu上基于这个YAML文件创建新的Conda环境,从而实现项目的顺利部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题描述

用pycharm在windows上开发了一个项目,想在ubuntu服务器上部署。需要重新配置环境。
尝试使用以下命令创建requirements.txt

conda list -e > requirements.txt
conda list > requirements.txt

requirements.txt可能是以下任何一个:

# packages in environment at C:\ProgramData\Anaconda2\envs\myenvs:
#
# Name                    Version                   Build  Channel
anyjson                   0.3.3            py36h1110a06_1  
arrow                     0.12.1                   py36_1  
asn1crypto                0.24.0                   py36_0  
babel                     2.6.0                    py36_0

​​
或者这个

name: myenv
channels:
  - defaults
dependencies:
  - anyjson=0.3.3=py36h1110a06_1
  - arrow=0.12.1=py36_1
  - asn1crypto=0.24.0=py36_0
  - babel=2.6.0=py36_0
  - blas=1.0=mkl

这两种方法导出的环境均会在ubuntu机器上出错,因为这个软件包是针对windows的:(/win-64/

解决方法

conda export -no-build 命令用于将当前 Conda 环境导出为一个 YAML 文件,并排除构建信息。这个命令将当前环境的所有软件包及其依赖项写入 YAML 文件中,并删除构建相关的信息。因此,生成的 YAML 文件可以在不同操作系统、不同架构之间共享。

conda activate test
conda env export -no-build > test.yaml

这将将当前环境导出到名为 test.yaml 的 YAML 文件中。在导出的 YAML 文件中,将不包括与构建相关的信息,例如构建号、构建时间等。这将使得导出的环境文件更加通用,可以在不同的环境中使用。

conda env create -f test.yaml

这将在 Linux 上创建一个名为 test 的新 Conda 环境,其中包含与 Windows 上相同版本的软件包

评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值