在频道中不再提供包时复制conda环境

2024-06-26 14:29:06 发布

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

我想发表一篇科学论文中用于数据分析的conda环境。我使用conda env export > environment.yml将环境保存到.yml文件中

我可以使用conda env create -f environment.yml在另一台机器上重新创建相同的环境。几个月后,从同一个.yml文件创建环境失败:

ResolvePackageNotFound: - vc=14.1=h0510ff6_3 - vs2015_runtime=15.5.2=3

大概这些版本在文件中指定的频道上不再可用?或者这是否反映了另一个问题?在

也许,在我的具体案例中,确切的版本并不重要,但这个问题似乎首先挫败了拯救环境的目的。有没有一种不同的命令或策略来拯救一个环境,以一种更能证明未来的方式?在

我正在尝试使用miniconda安装环境。在

conda版本4.5.4

python版本:3.6.5.final.0

以下是完整的.yml文件:

    name: jlsocial
channels:
  - conda-forge
  - defaults
dependencies:
  - ca-certificates=2018.4.16=0
  - certifi=2018.4.16=py36_0
  - libiconv=1.15=hfa6e2cd_1
  - libxml2=2.9.8=haffccfe_2
  - libxslt=1.1.32=h5632236_1
  - lxml=4.2.3=py36heafd4d3_0
  - openssl=1.0.2o=hfa6e2cd_1
  - svglib=0.8.1=py36_0
  - svgutils=0.3.0=py36_0
  - backcall=0.1.0=py36_0
  - blas=1.0=mkl
  - bleach=2.1.3=py36_0
  - blosc=1.14.3=he51fdeb_0
  - bokeh=0.12.16=py36_0
  - bzip2=1.0.6=hfa6e2cd_5
  - click=6.7=py36hec8c647_0
  - cloudpickle=0.5.3=py36_0
  - colorama=0.3.9=py36h029ae33_0
  - cycler=0.10.0=py36h009560c_0
  - cytoolz=0.9.0.1=py36hfa6e2cd_0
  - dask=0.17.5=py36_0
  - dask-core=0.17.5=py36_0
  - decorator=4.3.0=py36_0
  - distributed=1.21.8=py36_0
  - entrypoints=0.2.3=py36hfd66bb0_2
  - freetype=2.8=h51f8f2c_1
  - hdf5=1.10.2=hac2f561_1
  - heapdict=1.0.0=py36_2
  - html5lib=1.0.1=py36h047fa9f_0
  - icc_rt=2017.0.4=h97af966_0
  - icu=58.2=ha66f8fd_1
  - imageio=2.3.0=py36_0
  - intel-openmp=2018.0.0=8
  - ipykernel=4.8.2=py36_0
  - ipython=6.4.0=py36_0
  - ipython_genutils=0.2.0=py36h3c5d0ee_0
  - ipywidgets=7.2.1=py36_0
  - jedi=0.12.0=py36_1
  - jinja2=2.10=py36h292fed1_0
  - jpeg=9b=hb83a4c4_2
  - jsonschema=2.6.0=py36h7636477_0
  - jupyter=1.0.0=py36_4
  - jupyter_client=5.2.3=py36_0
  - jupyter_console=5.2.0=py36h6d89b47_1
  - jupyter_core=4.4.0=py36h56e9d50_0
  - kiwisolver=1.0.1=py36h12c3424_0
  - libpng=1.6.34=h79bbb47_0
  - libsodium=1.0.16=h9d3ae62_0
  - libtiff=4.0.9=hb8ad9f9_1
  - locket=0.2.0=py36hfed976d_1
  - lzo=2.10=h6df0209_2
  - m2w64-gcc-libgfortran=5.3.0=6
  - m2w64-gcc-libs=5.3.0=7
  - m2w64-gcc-libs-core=5.3.0=7
  - m2w64-gmp=6.1.0=2
  - m2w64-libwinpthread-git=5.0.0.4634.697f757=2
  - markupsafe=1.0=py36h0e26971_1
  - matplotlib=2.2.2=py36h153e9ff_1
  - mistune=0.8.3=py36hfa6e2cd_1
  - mkl=2018.0.2=1
  - mkl_fft=1.0.1=py36h452e1ab_0
  - mkl_random=1.0.1=py36h9258bd6_0
  - msgpack-python=0.5.6=py36he980bc4_0
  - msys2-conda-epoch=20160418=1
  - nbconvert=5.3.1=py36h8dc0fde_0
  - nbformat=4.4.0=py36h3a5bc1b_0
  - networkx=2.1=py36_0
  - notebook=5.5.0=py36_0
  - numexpr=2.6.5=py36hcd2f87e_0
  - numpy=1.14.3=py36h9fa60d3_1
  - numpy-base=1.14.3=py36h555522e_1
  - olefile=0.45.1=py36_0
  - opencv=3.3.1=py36h20b85fd_1
  - packaging=17.1=py36_0
  - pandas=0.23.0=py36h830ac7b_0
  - pandoc=1.19.2.1=hb2460c7_1
  - pandocfilters=1.4.2=py36h3ef6317_1
  - parso=0.2.0=py36_0
  - partd=0.3.8=py36hc8e763b_0
  - patsy=0.5.0=py36_0
  - pickleshare=0.7.4=py36h9de030f_0
  - pillow=5.1.0=py36h0738816_0
  - pip=10.0.1=py36_0
  - prompt_toolkit=1.0.15=py36h60b8f86_0
  - psutil=5.4.5=py36hfa6e2cd_0
  - pygments=2.2.0=py36hb010967_0
  - pyparsing=2.2.0=py36h785a196_1
  - pyqt=5.9.2=py36h1aa27d4_0
  - pytables=3.4.3=py36he6f6034_1
  - python=3.6.5=h0c2934d_0
  - python-dateutil=2.7.3=py36_0
  - pytz=2018.4=py36_0
  - pywavelets=0.5.2=py36hc649158_0
  - pywinpty=0.5.1=py36_0
  - pyyaml=3.12=py36h1d1928f_1
  - pyzmq=17.0.0=py36hfa6e2cd_1
  - qt=5.9.5=vc14he4a7d60_0
  - qtconsole=4.3.1=py36h99a29a9_0
  - reportlab=3.4.0=py36_0
  - scikit-image=0.13.1=py36hfa6e2cd_1
  - scikit-learn=0.19.1=py36h53aea1b_0
  - scipy=1.1.0=py36h672f292_0
  - seaborn=0.8.1=py36h9b69545_0
  - send2trash=1.5.0=py36_0
  - setuptools=39.1.0=py36_0
  - simplegeneric=0.8.1=py36_2
  - sip=4.19.8=py36h6538335_0
  - six=1.11.0=py36h4db2310_1
  - snappy=1.1.7=h777316e_3
  - sortedcontainers=1.5.10=py36_0
  - sqlite=3.23.1=h35aae40_0
  - statsmodels=0.9.0=py36h452e1ab_0
  - tblib=1.3.2=py36h30f5020_0
  - terminado=0.8.1=py36_1
  - testpath=0.3.1=py36h2698cfe_0
  - tk=8.6.7=hcb92d03_3
  - toolz=0.9.0=py36_0
  - tornado=5.0.2=py36_0
  - traitlets=4.3.2=py36h096827d_0
  - vc=14.1=h0510ff6_3
  - vs2015_runtime=15.5.2=3
  - wcwidth=0.1.7=py36h3d5aa90_0
  - webencodings=0.5.1=py36h67c50ae_1
  - wheel=0.31.1=py36_0
  - widgetsnbextension=3.2.1=py36_0
  - wincertstore=0.2=py36h7fe50ca_0
  - winpty=0.4.3=4
  - wxpython=4.0.1=py36h4cd245c_0
  - yaml=0.1.7=hc54c509_2
  - zeromq=4.2.5=hc6251cf_0
  - zict=0.1.3=py36h2d8e73e_0
  - zlib=1.2.11=h8395fce_2
  - pip:
    - tables==3.4.3
prefix: C:\Users\jlarsch\AppData\Local\Continuum\miniconda3\envs\jlsocial

Tags: 文件core版本envenvironment环境ymljupyter
2条回答

就在今天,我几乎遇到了同样的问题。基于其他的SO post,我将两个有问题的包移到了.yml文件的pip部分。i、 电子邮箱:

  -pip:
    - vc==14.1=h0510ff6_3
    - vs2015_runtime==15.5.2=3

这似乎解决了我的问题,虽然我不确定这是否一定是最好的方法。在

编辑:仔细观察,我发现这并没有解决问题。相反,我把这两个包移回了依赖关系,只删除了版本要求(它取而代之的是旧版本的vc)。i、 电子邮箱:

^{pr2}$

结果是:

vc                        14                   h0510ff6_3
vs2015_runtime            14.0.25123                    3

我在两台计算机上都有类似的设置,所以为什么会发生这种情况,我不完全确定。在

对于任何感兴趣的人,此问题的原因由continuum在以下内容中进行了说明和总结: https://github.com/conda/conda/issues/7714 进一步讨论如下: https://github.com/ContinuumIO/anaconda-issues/issues/10004。在

但简而言之,这两个包已经被“撤销”,新的包求解器(针对AnacondaPython3.7)逻辑不能很好地处理这种情况。在

https://github.com/conda/conda/issues/7714复制的一个可能的解决方案:

修复环境的步骤(如果当前已损坏):

  1. 请记下当前基本conda环境的位置。对于这里的示例,假设它位于C:\Users\ScoobyDoo\Anaconda3。您还需要知道遇到这些错误之前的python版本。在这个例子中,假设它是python3.5。在
  2. https://repo.continuum.io/miniconda/Miniconda3-latest-Windows-x86_64.exe下载miniconda。(可以使用Miniconda3或Miniconda2;这无关紧要。)
  3. 运行miniconda安装程序,为“Just Me”选择“install”,然后指定与当前基本环境不同的目标文件夹。对于本例,我们将其放在C:\temp-conda。在
  4. 在任何命令提示符下,运行命令C:\temp-conda\Scripts\conda.exe install -p C:\Users\ScoobyDoo\Anaconda3 python=3.5 conda
  5. 你的正常状态现在应该可以治愈了,如果你愿意,现在可以删除C:\temp-conda目录。在
  6. 运行新的miniconda安装程序时,“Anaconda Prompt”快捷方式可能已更改。如果它不再正常工作,右键单击“Anaconda Prompt”图标,选择“Properties”,并使Target字段指向C:\Users\ScoobyDoo\Anaconda3,而不是{}。请注意,您可能需要对Target字段进行两次更改,而不仅仅是一次。因为字段框很小,所以通常更容易选择字段,按Ctrl-A然后按Ctrl-C(选择所有文本,然后复制),将文本粘贴到一个空的记事本文件中,进行编辑,然后将编辑的文本复制并粘贴回Target字段中。在

相关问题 更多 >