如何从yml文件创建*自定义python环境,并*下载*缺少的软件包

时间:2020-09-20 17:03:27

标签: installation anaconda conda environment

我正在尝试构建一个支持旧的hddm库的python 3.5环境。由于我/ anaconda显然无法忽略(或降级)10.1 cuda库,以支持使用hddm的旧库,因此标准方法失败。

有一个描述成功环境的yml文件。但是广告命令

conda env创建-file hddm_py35.yml

失败,并列出所有“未找到”软件包的错误。这是错误。

(基本)PS C:\ Users \ Peter \ anaconda3_Sep2020> conda env创建--file。\ hddm_py35.yml 收集包元数据(repodata.json):完成 解决环境:失败

ResolvePackageNotFound:

  • odo == 0.5.0 = py35_1
  • cffi == 1.7.0 = py35_0
  • dill == 0.2.5 = py35_0
  • singledispatch == 3.4.0.3 = py35_0
  • nb_conda_kernels == 2.0.0 = py35_0
  • requests == 2.14.2 = py35_0
  • scikit-learn == 0.17.1 = np111py35_1
  • wheel == 0.29.0 = py35_0
  • jedi == 0.9.0 = py35_1
  • widgetsnbextension == 1.2.6 = py35_0
  • bitarray == 0.8.1 = py35_1
  • theano == 1.0.2 = py35_0
  • pytz == 2016.6.1 = py35_0
  • pylint == 1.5.4 = py35_1
  • ruamel_yaml == 0.11.14 = py35_0
  • partd == 0.3.6 = py35_0
  • llvmlite == 0.13.0 = py35_0
  • multipledispatch == 0.4.8 = py35_0
  • pyparsing == 2.1.4 = py35_0
  • console_shortcut == 0.1.1 = py35_1
  • ipython_genutils == 0.1.0 = py35_0
  • patsy == 0.4.1 = py35_0
  • pytest == 2.9.2 = py35_0
  • heapdict == 1.0.0 = py35_1
  • ipywidgets == 5.2.2 = py35_0
  • bokeh == 0.12.2 = py35_0
  • hdf5 == 1.8.15.1 = 2
  • networkx == 1.11 = py35_0
  • backports == 1.0 = py35_0
  • pyasn1 == 0.1.9 = py35_0
  • pyqt == 5.6.0 = py35h6538335_6
  • zlib == 1.2.11 = hbb18732_2
  • et_xmlfile == 1.0.1 = py35_0
  • traitlets == 4.3.0 = py35_0
  • colorama == 0.3.7 = py35_0
  • argcomplete == 1.0.0 = py35_1
  • pywin32 == 220 = py35_1
  • astropy == 1.2.1 = np111py35_0
  • nose == 1.3.7 = py35_1
  • freetype == 2.8 = h0224ed4_1
  • pkginfo == 1.3.2 = py35_0
  • cloudpickle == 0.2.1 = py35_0
  • sqlalchemy == 1.0.13 = py35_0
  • lazy-object-proxy == 1.2.1 = py35_0
  • markupsafe == 0.23 = py35_2
  • prompt_toolkit == 1.0.3 = py35_0
  • pickleshare == 0.7.4 = py35_0
  • itsdangerous == 0.24 = py35_0
  • babel == 2.3.4 = py35_0
  • click == 6.6 = py35_0
  • six == 1.10.0 = py35_0
  • libdynd == 0.7.2 = 0
  • jdcal == 1.2 = py35_1
  • pymc == 2.3.6 = np111py35_2
  • pathlib2 == 2.1.0 = py35_0
  • astroid == 1.4.7 = py35_0
  • numba == 0.28.1 = np111py35_0
  • qtconsole == 4.2.1 = py35_2
  • wrapt == 1.10.6 = py35_0
  • idna == 2.1 = py35_0
  • pytables == 3.2.2 = np111py35_4
  • _nb_ext_conf == 0.3.0 = py35_0
  • dynd-python == 0.7.2 = py35_0
  • numexpr == 2.6.1 = np111py35_0
  • werkzeug == 0.11.11 = py35_0
  • 绳索== 0.9.4 = py35_1
  • jupyter_client == 4.4.0 = py35_0
  • pyzmq == 15.4.0 = py35_0
  • python-dateutil == 2.5.3 = py35_0
  • beautifulsoup4 == 4.5.1 = py35_0
  • blaze == 0.10.1 = py35_0
  • nbformat == 4.1.0 = py35_0
  • nbpresent == 3.0.2 = py35_0
  • sip == 4.18 = py35_0
  • 胸== 0.2.3 = py35_0
  • glob2 == 0.5 = py35_0
  • locket == 0.2.0 = py35_1
  • mistune == 0.7.3 = py35_0
  • alabaster == 0.7.9 = py35_0
  • setuptools == 27.2.0 = py35_1
  • win_unicode_console == 0.5 = py35_0
  • filelock == 2.0.6 = py35_0
  • _license == 1.1 = py35_1
  • ipykernel == 4.5.0 = py35_0
  • qt == 5.6.2 = vc14h6f76a7e_12
  • pep8 == 1.7.0 = py35_0
  • xlwings == 0.10.0 = py35_0
  • spyder == 3.0.0 = py35_0
  • xlrd == 1.0.0 = py35_0
  • scipy == 0.18.1 = np111py35_0
  • dask == 0.11.0 = py35_0
  • nbconvert == 4.2.0 = py35_0
  • pip == 8.1.2 = py35_0
  • mkl == 11.3.3 = 1
  • nb_anacondacloud == 1.2.0 = py35_0
  • cython == 0.24.1 = py35_0
  • flask-cors == 2.1.2 = py35_0
  • ipython == 5.1.0 = py35_0
  • cycler == 0.10.0 = py35_0
  • jpeg == 9b = he27b436_2
  • menuinst == 1.4.1 = py35_0
  • anaconda == 4.2.0 = np111py35_0
  • configobj == 5.0.6 = py35_0
  • boto == 2.42.0 = py35_0
  • unicodecsv == 0.14.1 = py35_0
  • scikit-image == 0.12.3 = np111py35_1
  • contextlib2 == 0.5.3 = py35_0
  • conda-build == 3.0.19 = py35h15d37ab_0
  • jinja2 == 2.8 = py35_1
  • conda-verify == 2.0.0 = py35_0
  • get_terminal_size == 1.0.0 = py35_0
  • qtpy == 1.1.2 = py35_0
  • anaconda-client == 1.5.1 = py35_0
  • decorator == 4.0.10 = py35_0
  • ply == 3.9 = py35_0
  • openpyxl == 2.3.2 = py35_0
  • sockjs-tornado == 1.0.3 = py35_0
  • pyyaml == 3.12 = py35_0
  • snowballstemmer == 1.2.1 = py35_0
  • toolz == 0.8.0 = py35_0
  • py == 1.4.31 = py35_0
  • xlwt == 1.1.2 = py35_0
  • clyent == 1.2.2 = py35_0
  • bottleneck == 1.1.0 = np111py35_0
  • jupyter == 1.0.0 = py35_3
  • mkl-service == 1.1.2 = py35_2
  • simplegeneric == 0.8.1 = py35_1
  • wcwidth == 0.1.7 = py35_0
  • h5py == 2.6.0 = np111py35_2
  • gevent == 1.1.2 = py35_0
  • pycrypto == 2.6.1 = py35_4
  • datashape == 0.5.2 = py35_0
  • psutil == 4.3.1 = py35_0
  • nltk == 3.2.1 = py35_0
  • jsonschema == 2.5.1 = py35_0
  • notebook == 4.2.3 = py35_0
  • pycparser == 2.14 = py35_1
  • xlsxwriter == 0.9.3 = py35_0
  • jupyter_core == 4.2.0 = py35_0
  • qtawesome == 0.3.3 = py35_0
  • fastcache == 1.0.2 = py35_1
  • jupyter_console == 5.0.0 = py35_0
  • tornado == 4.4.1 = py35_0
  • path.py == 8.2.1 = py35_0
  • pyflakes == 1.3.0 = py35_0
  • sympy == 1.0 = py35_0
  • pandas == 0.20.1 = np111py35_0
  • pygments == 2.1.3 = py35_0
  • anaconda-clean == 1.0.0 = py35_0
  • mpmath == 0.19 = py35_1
  • comtypes == 1.1.2 = py35_0
  • cryptography == 1.5 = py35_0
  • chardet == 3.0.4 = py35_0
  • entrypoints == 0.2.2 = py35_0
  • sphinx == 1.4.6 = py35_0
  • greenlet == 0.4.10 = py35_0
  • anaconda-navigator == 1.3.1 = py35_0
  • flask == 0.11.1 = py35_0
  • pyopenssl == 16.2.0 = py35_0
  • lxml == 3.6.4 = py35_0
  • icu == 58.2 = h3fcc66b_1
  • docutils == 0.12 = py35_2
  • statsmodels == 0.6.1 = np111py35_1
  • nb_conda == 2.0.0 = py35_0
  • imagesize == 0.7.1 = py35_0

(基本)PS C:\ Users \ Peter \ anaconda3_Sep2020>

故障在几秒钟内发生。我感到conda甚至没有尝试来寻找这些软件包!?!?

  1. 我应该下载这些软件包,将它们放在某个地方,然后告诉conda在我的硬盘上找到它们吗?

  2. 是否有一个标志告诉conda通常对所有“缺失”的程序包进行查找和加载-但仅在我描述的环境中?在我的基本环境(3.8)中,我不想降级。

  3. 是否应该建立一个新的3.5环境,然后逐个查看清单并手动卸载/删除/降级每个软件包?

  4. 元问题:这必须是一个常见问题解答,但我无法在Google上找到答案。这通常意味着搜索“从yaml文件安装conda环境”并不包含适当的词汇表,以试图诱导conda从yaml文件安装环境。我应该问什么问题?

1 个答案:

答案 0 :(得分:0)

1) Am I supposed to download these packages, put them somewhere, and then 
tell conda to find them on my hard drive?

不是必需的。但是,在anaconda.org上搜索版本有助于确定手动一对一下载的渠道。

2) Is there a flag that tells conda to do its usually find-and-load for all 
"missing" packages -- but only in the environment I'm describing? In my base 
environment (3.8) I don't wish to downgrade.

没有证据表明conda会自动下载yaml文件中列出的当前环境中缺少的文件。

3) Should make a new 3.5 environment and then work through the list one-by-
one and uninstall/remove/downgrade each package by hand?

是的

4) Meta question: This must be a FAQ, and yet I'm not able to google for the 
answer. That usually means googling for "conda install environment from yaml 
file" doesn't contain the appropriate vocabulary for, well, trying to induce 
conda to install an environment from a yaml file. What question should I have 
asked?

没有证据表明yaml文件除了环境中的软件包版本列表以外。它们不能用于创建新环境(除非所有组件都已经存在于宿主环境中),因此它们的价值在很大程度上具有注释性。显然。


对于在2020年为hddm创建环境的情况,请不要尝试。 CUDA支持将对您不利。 https://colab.research.google.com/处有一个正确配置的hddm主机(没有cuda中断),以便您可以用它踢轮胎等。使hddm在任何其他情况下工作都可能需要专用硬件,以便cuda驱动程序可以只能仅对此应用程序进行操作,并且在此过程中不会破坏任何其他应用程序。