首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当通道中不再提供包时,正在重现conda环境

当通道中不再提供包时,正在重现conda环境
EN

Stack Overflow用户
提问于 2018-09-07 15:45:07
回答 3查看 3.1K关注 0票数 7

我想发表一篇科学论文背后的数据分析所使用的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文件:

代码语言:javascript
复制
    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
EN

回答 3

Stack Overflow用户

发布于 2018-09-13 15:27:48

就在今天,我遇到了几乎完全相同的问题。基于其他SO post,我将有问题的两个包移动到我的.yml文件的pip部分。即:

代码语言:javascript
复制
  -pip:
    - vc==14.1=h0510ff6_3
    - vs2015_runtime==15.5.2=3

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

编辑:仔细检查后,我意识到这并没有解决问题。相反,我将这两个包移回了依赖关系,并删除了版本要求(它选择了较旧版本的vc )。即:

代码语言:javascript
复制
dependencies:
  - vc
  - vs2015_runtime

由此产生的版本是:

代码语言:javascript
复制
vc                        14                   h0510ff6_3
vs2015_runtime            14.0.25123                    3

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

票数 7
EN

Stack Overflow用户

发布于 2018-12-03 19:21:27

对于任何感兴趣的人,这个问题的原因在:https://github.com/conda/conda/issues/7714中由continuum解决并结束,并在:https://github.com/ContinuumIO/anaconda-issues/issues/10004中进一步讨论。

但简而言之,这两个包已经被“撤销”了,新的包解算器(用于anaconda python 3.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“安装,然后指定一个与当前基本环境不同的目标文件夹。在这个例子中,我们将把它放在任何命令提示符下,运行命令C:\temp-conda\Scripts\conda.exe install -p C:\Users\ScoobyDoo\Anaconda3 python=3.5 conda
  4. Your normal conda now C:\temp-conda.
  5. In now be healed,如果你愿意,你现在可以删除C:\temp-conda目录。
  6. 当你运行新的miniconda安装程序时,你的"Anaconda Prompt“快捷方式可能已经被更改了。如果它不能正常工作,右键单击"Anaconda Prompt“图标,选择"Properties",并使Target字段指向C:\Users\ScoobyDoo\Anaconda3而不是C:\temp-conda。请注意,您可能需要对Target字段进行两次更改,而不是只更改一次。由于字段框很小,通常更容易选择字段,按Ctrl-A,然后按Ctrl-C (选择所有文本,然后复制),将文本粘贴到一个空的记事本文件中,进行编辑,然后将编辑后的文本复制并粘贴回Target字段。
票数 1
EN

Stack Overflow用户

发布于 2020-11-05 15:55:34

我也遇到了同样的问题,当我更改.yml文件中的行时,它终于起作用了。首先,我编写了查看所有包的命令:

代码语言:javascript
复制
$conda list 

找到vc=14....=...行,返回到.yml文件,并更改适用于我的名称

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52217730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档