从.yml-包创建conda env不会下载

时间:2019-07-04 13:35:40

标签: python-2.7 anaconda

在为conda创建虚拟环境时遇到一些严重问题。整个过程不会返回错误,但是应该存在的程序包不会-返回错误。

这是我的yml文件:

name: linuxenv
channels:
  - defaults
  - conda-forge
dependencies:
  - _libgcc_mutex=0.1=main
  - blas=1.0=mkl
  - ca-certificates=2019.5.15=0
  - certifi=2019.6.16=py27_0
  - pip=19.1.1=py27_0
  - setuptools=41.0.1=py27_0
  - wheel=0.33.4=py27_0
  - pip:
      - libstdcxx-ng==9.1.0=hdf63c60_0
      - scipy==1.2.1=py27h7c811a0_0
      - libgfortran-ng==7.3.0=hdf63c60_0
      - libffi==3.2.1=hd88cf55_4
      - zlib==1.2.11=h7b6447c_3
      - tk==8.6.8=hbc83047_0
      - numpy==1.16.4=py27h7e9f1db_0
      - ncurses==6.1=he6710b0_1
      - openssl==1.1.1c=h7b6447c_1
      - readline==7.0=h7b6447c_5
      - mkl==2019.4=243
      - python==2.7.16=h9bab390_0
      - sqlite==3.28.0=h7b6447c_0
      - intel-openmp==2019.4=243
      - scikit-learn==0.20.3=py27hd81dba3_0
      - libgcc-ng==9.1.0=hdf63c60_0
      - mkl_fft==1.0.12=py27ha843d7b_0
      - numpy-base==1.16.4=py27hde5b4d6_0
      - libedit==3.1.20181209=hc058e9b_0
      - mkl_random==1.0.2=py27hd81dba3_0

这是结果:

(linuxenv) C:\Users\szyna>conda list
# packages in environment at C:\Users\szyna\Anaconda3\envs\linuxenv:
#
# Name                    Version                   Build  Channel
_libgcc_mutex             0.1                        main
blas                      1.0                         mkl
ca-certificates           2019.5.15                     0
certifi                   2019.6.16                py27_0
pip                       19.1.1                   py27_0
python                    2.7.16               hcb6e200_0
setuptools                41.0.1                   py27_0
sqlite                    3.28.0               h0c8e037_0
vc                        9                    h7299396_1
vs2008_runtime            9.00.30729.1         hfaea7d5_1
wheel                     0.33.4                   py27_0
wincertstore              0.2              py27hf04cefb_0

正如我所说,executin conda create不会返回任何错误,只会返回该消息

Ran pip subprocess with arguments:
['C:\\Users\\szyna\\Anaconda3\\envs\\linuxenv\\python.exe', '-m', 'pip', 'install', '-U', '-r', 'C:\\Users\\szyna\\Desktop\\condaenv.z8p1vx1r.requirements.txt']
Pip subprocess output:
Collecting libstdcxx-ng==9.1.0=hdf63c60_0 (from -r C:\Users\szyna\Desktop\condaenv.z8p1vx1r.requirements.txt (line 1))

你们中的任何一个都知道该怎么做吗?

1 个答案:

答案 0 :(得分:1)

该YAML文件(实际上)无效-您嵌套在pip下的许多程序包无法从PyPI获得(例如mkllib*)。另外,所有构建信息(例如...=hdf*)都对应于Anaconda Cloud托管的软件包。如果您使用conda export或类似名称生成了此YAML,则应该report this as a bug

关于使其正常工作,如果有一个特定的软件包,您知道只能通过PyPI使用,则将其保留在- pip:列表下;否则,请删除- pip:行,并删除所有后续行的缩进。

此外,仅FYI,将PyPI和Conda混合起来就很麻烦-最佳实践似乎只有在Anaconda Cloud渠道完全无法使用该软件包时才诉诸PyPI。有关更多信息,请参见"Using Pip in a Conda Environment"