具有特定Tensorflow和Numpy版本的Conda环境

2024-06-02 08:22:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要为tensorflow设置一个conda环境。我是通过environment.yml文件来实现的。我必须指定我的tensorflow版本(最新版本2.5.0),否则conda将安装TF1.14。但是,由于tensorflow似乎无法与最新的numpy版本一起正常工作,我想使用numpy 1.19或更高版本。使用以下environment.yml conda无法解决环境问题,它表示Found conflicts! Looking for incompatible packages.,但此后conda无法解决问题

name: gi-project
channels:
  - conda-forge
  - defaults
dependencies:
  - numpy=1.19
  - tensorflow=2.5.0
  - matplotlib
  - jupyterlab
  - pandas
  - joblib
  - scikit-learn
  - netcdf4

为什么会这样?我认为conda环境的原因是处理不同版本的软件包


Tags: 文件版本numpyforenvironment环境packagesyml
1条回答
网友
1楼 · 发布于 2024-06-02 08:22:50

conda查看要安装的软件包,检查它们的依赖关系,然后确定哪些版本可以一起工作。因此,包维护者施加了限制。如果我们这样做

conda search info tensorflow

我们看到它对tensorflow-base=2.5.0有依赖性:

tensorflow 2.5.0 mkl_py38hbe2df88_0
                 -
file name   : tensorflow-2.5.0-mkl_py38hbe2df88_0.conda
name        : tensorflow
version     : 2.5.0
build       : mkl_py38hbe2df88_0
build number: 0
size        : 4 KB
license     : Apache 2.0
subdir      : win-64
url         : https://repo.anaconda.com/pkgs/main/win-64/tensorflow-2.5.0-mkl_py38hbe2df88_0.conda
md5         : dc6f851db06000dc1e22965fc7f8946a
timestamp   : 2021-07-02 17:21:52 UTC
dependencies:
  - _tflow_select 2.3.0 mkl
  - python 3.8.*
  - tensorboard >=2.5.0
  - tensorflow-base 2.5.0 mkl_py38h9201259_0
  - tensorflow-estimator >=2.5.0

再往下走,做conda search info tensorflow-base=2.5.0

tensorflow-base 2.5.0 mkl_py38h9201259_0
                    
file name   : tensorflow-base-2.5.0-mkl_py38h9201259_0.conda
name        : tensorflow-base
version     : 2.5.0
build       : mkl_py38h9201259_0
build number: 0
size        : 63.3 MB
license     : Apache 2.0
subdir      : win-64
url         : https://repo.anaconda.com/pkgs/main/win-64/tensorflow-base-2.5.0-mkl_py38h9201259_0.conda
md5         : fe8fa6dfa600d9158984e0676cf000db
timestamp   : 2021-06-25 13:11:22 UTC
dependencies:
  - abseil-cpp >=20210324.2,<20210324.3.0a0
  - absl-py >=0.10.0
  - astunparse >=1.6.3
  - flatbuffers
  - gast 0.4.0
  - giflib >=5.2.1,<5.3.0a0
  - google-pasta >=0.2
  - grpcio
  - h5py >=3.1.0
  - icu >=68.1,<69.0a0
  - jpeg >=9b,<10a
  - keras-preprocessing >=1.1.2
  - libcurl >=7.71.1,<8.0a0
  - libpng >=1.6.37,<1.7.0a0
  - libprotobuf >=3.14.0,<3.15.0a0
  - numpy >=1.20
  - openssl >=1.1.1k,<1.1.2a
  - opt_einsum 3.3.0.*
  - protobuf >=3.9.2
  - python >=3.8,<3.9.0a0
  - python-flatbuffers 1.12.*
  - scipy >=1.6.2
  - six >=1.15.0
  - snappy >=1.1.8,<2.0a0
  - sqlite >=3.36.0,<4.0a0
  - tensorboard >=2.5.0,<2.6
  - tensorflow-estimator >=2.5.0,<2.6
  - termcolor >=1.1.0
  - typing_extensions >=3.7.4
  - vc >=14.2,<15.0a0
  - vs2015_runtime >=14.27.29016,<15.0a0
  - wheel >=0.35,<0.36
  - wrapt >=1.11.2
  - zlib >=1.2.11,<1.3.0a0

如您所见,numpy>=1.20是一项要求。因此conda只能继续并确定您的需求不可能同时进行,因为创建tensorflow-base=2.5.0包的人已经指定它将不会与numpy<1.20一起工作

如果要避免使用最新版本(^{),我建议您尝试使用numpy=1.20

相关问题 更多 >