创建conda环境:“发现冲突!”解决环境和“寻找最短冲突路径”永远运行时

时间:2019-10-03 10:12:18

标签: python ubuntu dependencies conda environment

为我提供了一个environment.ubuntu.yml文件,以便能够创建conda环境。但是,运行conda create env --file environment.ubuntu.yml会得到以下输出:

conda env create --file environment.ubuntu.yml
Collecting package metadata (repodata.json): done
Solving environment: - 
Found conflicts! Looking for incompatible packages.
This can take several minutes.  Press CTRL-C to abort.
Examining fontconfig:   5%|▉                 | 10/202 [00:00<00:00, 5393.91it/ ]
Comparing specs that have this dependency:   0%|         | 0/12 [00:00<?, ?it/s]
Finding shortest confli|  path for fontconfig==2.13.1=he4413a7_1000:  12%|▏| 1/8
Finding shortest conflict path for fontconfig==2.13.1=he4413a7_1000:  25%|▎| 2/8
Finding shortest conflict pa/  for fontconfig[version='>=2.13.0,<3.0a0']:  25%|
Finding shortest conflict path for fontconfig[version='>=2.13.0,<3.0a0']:  38%|
Finding shortest conf- ct path for fontconfig[version='>=2.11.1']:  38%|▍| 3/8 [
Finding shortest conflict path for fontconfig[version='>=2.11.1']:  50%|▌| 4/8 [
Finding shortest conflict pa|  for fontconfig[version='>=2.12.4,<3.0a0']:  50%|
...

Finding shortest conflict path持续了很长时间-显然它正在尝试解决一些依赖性问题。运行了两个小时,目前尚不清楚它是否会停止。

我的问题是:这是怎么回事,我可以以某种方式手动加快此过程吗,例如通过删除不必要的依赖关系?由于我没有创建环境,因此我不知道实际需要哪些环境。

我好奇的原因是,当fontconfig[version='>=2.12.6,<3.0a0']中的dependencies2.13.1并且我已经通过2.13.1安装时,它正在检查像name: cea channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free - dlr-sc - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - conda-forge - conda-forge/label/gcc7 - defaults dependencies: - attrs=19.1.0=py_0 - backports=1.0=py_2 - backports.functools_lru_cache=1.5=py_1 - backports_abc=0.5=py_1 - boost-cpp=1.68.0=h11c811c_1000 - bzip2=1.0.6=h14c3975_1002 - ca-certificates=2019.3.9=hecc5488_0 - cairo=1.14.12=h80bd089_1005 - certifi=2019.3.9=py27_0 - click=7.0=py_0 - click-plugins=1.0.4=py_0 - cligj=0.5.0=py_0 - curl=7.64.1=hf8cf82a_0 - cycler=0.10.0=py_1 - descartes=1.1.0=py_2 - enum34=1.1.6=py27_1001 - expat=2.2.5=hf484d3e_1002 - fiona=1.8.6=py27hf242f0b_2 - fontconfig=2.13.1=he4413a7_1000 - freetype=2.10.0=he983fc9_0 - freexl=1.0.5=h14c3975_1002 - functools32=3.2.3.2=py_3 - futures=3.2.0=py27_1000 - gdal=2.4.1=py27h5f563d9_8 - geopandas=0.4.1=py_1 - geos=3.7.1=hf484d3e_1000 - geotiff=1.4.3=h1105359_1000 - gettext=0.19.8.1=hc5be6a0_1002 - giflib=5.1.7=h516909a_1 - glib=2.56.2=had28632_1001 - hdf4=4.2.13=h9a582f1_1002 - hdf5=1.10.4=nompi_h3c11f04_1106 - icu=58.2=hf484d3e_1000 - jpeg=9c=h14c3975_1001 - json-c=0.13.1=h14c3975_1001 - kealib=1.4.10=h1978553_1003 - kiwisolver=1.0.1=py27h6bb024c_1002 - krb5=1.16.3=h05b26f9_1001 - libblas=3.8.0=4_openblas - libcblas=3.8.0=4_openblas - libcurl=7.64.1=hda55be3_0 - libdap4=3.19.1=hd48c02d_1000 - libedit=3.1.20170329=hf8c457e_1001 - libffi=3.2.1=he1b5a44_1006 - libgdal=2.4.1=heae24aa_8 - libiconv=1.15=h516909a_1005 - libkml=1.3.0=h328b03d_1009 - liblapack=3.8.0=4_openblas - libnetcdf=4.6.2=hbdf4f91_1001 - libpng=1.6.36=h84994c4_1000 - libpq=11.2=h4770945_0 - libspatialindex=1.9.0=he1b5a44_0 - libspatialite=4.3.0a=hb5ec416_1026 - libssh2=1.8.2=h22169c7_2 - libtiff=4.0.10=h648cc4a_1001 - libuuid=2.32.1=h14c3975_1000 - libxcb=1.13=h14c3975_1002 - libxml2=2.9.8=h143f9aa_1005 - mapclassify=1.0.1=py27_1 - matplotlib=2.2.3=py27h8a2030e_1 - matplotlib-base=2.2.3=py27h60b886d_1 - munch=2.3.2=py_0 - ncurses=6.1=hf484d3e_1002 - numpy=1.16.2=py27h8b7e671_1 - openblas=0.3.5=h9ac9557_1001 - openjpeg=2.3.0=hf38bd82_1003 - openssl=1.1.1b=h14c3975_1 - pandas=0.24.2=py27hf484d3e_0 - pip=19.0.3=py27_0 - pixman=0.34.0=h14c3975_1003 - poppler=0.67.0=h2fc8fa2_1002 - poppler-data=0.4.9=1 - postgresql=11.2=h61314c7_0 - proj4=5.2.0=h14c3975_1001 - pthread-stubs=0.4=h14c3975_1001 - pyparsing=2.3.1=py_0 - pyproj=1.9.6=py27hc0953d3_1000 - pyqt=5.6.0=py27h13b7fb3_1008 - python=2.7.15=h721da81_1008 - python-dateutil=2.8.0=py_0 - pytz=2018.9=py_0 - readline=7.0=hf8c457e_1001 - rtree=0.8.3=py27h666c49c_1002 - scipy=1.2.1=py27h09a28d5_1 - setuptools=40.8.0=py27_0 - shapely=1.6.4=py27h2afed24_1003 - singledispatch=3.4.0.3=py27_1000 - sip=4.18.1=py27hf484d3e_1000 - six=1.12.0=py27_1000 - sqlite=3.26.0=h67949de_1001 - subprocess32=3.5.3=py27h14c3975_0 - tbb=2019.5=hc9558a2_0 - tk=8.6.9=h84994c4_1001 - tornado=5.1.1=py27h14c3975_1000 - tzcode=2018g=h14c3975_1001 - wheel=0.33.1=py27_0 - xerces-c=3.2.2=hac72e42_1001 - xorg-kbproto=1.0.7=h14c3975_1002 - xorg-libice=1.0.9=h516909a_1004 - xorg-libsm=1.2.3=h84519dc_1000 - xorg-libx11=1.6.7=h14c3975_1000 - xorg-libxau=1.0.9=h14c3975_0 - xorg-libxdmcp=1.1.3=h516909a_0 - xorg-libxext=1.3.4=h516909a_0 - xorg-libxrender=0.9.10=h516909a_1002 - xorg-renderproto=0.11.1=h14c3975_1002 - xorg-xextproto=7.3.0=h14c3975_1002 - xorg-xproto=7.0.31=h14c3975_1007 - xz=5.2.4=h14c3975_1001 - zlib=1.2.11=h14c3975_1004 - freeimageplus=3.18.0=hf484d3e_2 - gl2ps=1.3.8=h14c3975_4 - oce=0.17.2=h6bb024c_10 - pythonocc-core=0.17=py27_1 - mkl=2017.0.3=0 - mkl-service=1.1.2=py27_3 - dbus=1.13.2=h714fa37_1 - gst-plugins-base=1.14.0=hbbd80ab_1 - gstreamer=1.14.0=hb453b48_1 - libgcc-ng=8.2.0=hdf63c60_1 - libgfortran-ng=7.3.0=hdf63c60_0 - libstdcxx-ng=8.2.0=hdf63c60_1 - pcre=8.43=he6710b0_0 - qt=5.6.3=h8bf5577_3 - pip: - alabaster==0.7.12 - babel==2.6.0 - backports.shutil-get-terminal-size==1.0.0 - bleach==3.1.0 - chardet==3.0.4 - cloudpickle==0.8.1 - configparser==3.7.4 - cvxopt==1.2.3 - decorator==4.4.0 - defusedxml==0.5.0 - docutils==0.14 - doit==0.29.0 - entrypoints==0.3 - ephem==3.7.6.0 - funcsigs==1.0.2 - h5py==2.9.0 - idna==2.8 - imagesize==1.1.0 - importlib-resources==1.0.2 - ipaddress==1.0.22 - ipykernel==4.10.0 - ipython==5.8.0 - ipython-genutils==0.2.0 - ipywidgets==7.4.2 - jinja2==2.10 - joblib==0.12.5 - jsonschema==3.0.1 - jupyter==1.0.0 - jupyter-client==5.2.4 - jupyter-console==5.2.0 - jupyter-core==4.4.0 - llvmlite==0.28.0 - lxml==4.3.3 - markupsafe==1.1.1 - mistune==0.8.4 - mock==2.0.0 - nbconvert==5.4.1 - nbformat==4.4.0 - networkx==2.2 - notebook==5.7.8 - numba==0.43.1 - packaging==19.0 - pandocfilters==1.4.2 - pathlib2==2.3.3 - patsy==0.5.1 - pbr==5.1.3 - pexpect==4.6.0 - pickleshare==0.7.5 - pkginfo==1.5.0.1 - plotly==3.7.1 - prometheus-client==0.6.0 - prompt-toolkit==1.0.15 - ptyprocess==0.6.0 - py4design==0.27 - pycollada==0.6 - pygments==2.3.1 - pyinotify==0.9.6 - pymc3==3.6 - pymf==0.1.9 - pyrsistent==0.14.11 - pysal==1.14.4.post2 - pyshp==2.1.0 - pyyaml==5.1 - pyzmq==18.0.1 - qtconsole==4.4.3 - readme-renderer==24.0 - requests==2.21.0 - requests-toolbelt==0.9.1 - retrying==1.3.3 - salib==1.2 - scandir==1.10.0 - scikit-learn==0.20.3 - seaborn==0.9.0 - send2trash==1.5.0 - simplegeneric==0.8.1 - snowballstemmer==1.2.1 - sphinx==1.8.5 - sphinxcontrib-websupport==1.1.0 - terminado==0.8.2 - testpath==0.4.2 - theano==1.0.4 - timezonefinder==4.0.1 - tqdm==4.31.1 - traitlets==4.3.2 - twine==1.13.0 - typing==3.6.6 - urllib3==1.24.1 - utm==0.4.2 - wcwidth==0.1.7 - webencodings==0.5.1 - widgetsnbextension==3.4.2 - xlrd==1.2.0 - xlwt==1.3.0 - deap==1.3.0 这样的冲突路径。 / p>

请在.yml文件下面找到作为参考。

WebSecurityOrigin

7 个答案:

答案 0 :(得分:14)

此错误和随后的行为很可能来自Anaconda bug,这有时会导致本地环境的不一致。到2020年1月26日为止,该错误尚未解决。

对我来说,同样的问题在Mac上也很明显。

答案 1 :(得分:2)

对我来说,将以下内容添加到yaml文件中是可行的:

channels:
  - conda-forge
  - defaults
  - conda-forge/label/broken

答案 2 :(得分:1)

就我而言,我已替换了一些构建版本(...=he4413a7_1000部分),因为原始文件中的版本已在broken上重新标记为conda-forge。但是,即使这些依赖项的版本号没有更改,其子依赖项也已更改,从而导致了所有这些冲突。最重要的是:不要手动处理依赖项。

我通过保留原始的构建版本规范,并将conda-forge/labels/broken添加到channels文件的.yml部分来解决了这个问题。

答案 3 :(得分:0)

通常,此问题的答案是,您应该从头开始手动创建.yml,并且仅包含所需的通道和约束。您应该放宽版本约束,使它们看起来像1.19而不是1.19.10

但是,尽管遵循了此建议,但我现在几乎完全可以解决您的问题。它花了很多时间在fontconfig上,我放弃了一整夜才放弃。我的说明很简单:

channels:
  - conda-forge
  - usgs-astrogeology
  - defaults
dependencies:
  - python=3.6
  - isis3
  - gdal=2.3

找出来后,我将对其进行编辑。

答案 4 :(得分:0)

我已经解决了这个问题。 首先,我将anaconda版本制作为与yaml文件导出位置一致。这可能没有用,但我认为一致的conda版本可以保证一致的基本环境。 其次,我删除了所有依赖项,但删除了我实际上要在yaml文件中使用的一些“主要”软件包,这意味着让这些“主要”软件包可以处理依赖项问题。

答案 5 :(得分:0)

我在Windows 10上也遇到了同样的问题,在2020年2月17日使用最新版本的pycharm和anaconda(python 3.7)。奇怪的是,在pycharm设置中在项目解释器页面上切换“使用conda软件包管理器”使我能够更新numpy并正常安装软件包。尝试安装没有conda软件包管理器和conda软件包管理器的软件包。祝你好运!

答案 6 :(得分:-1)

对我来说,最好的办法是

which python(确认它在anaconda3垃圾箱中)

python --version
conda search "^python$"

请注意哪个版本与Anaconda使用的版本(此处为3.7.3)相匹配(因为我正在创建新环境,因此可以使用与Anaconda本身相同的Python版本是有原因的)。请注意,我在conda频道(上面的conda搜索)中列出的内容仅显示了3.7.3行。

然后执行以下操作:

conda create -n myenv python=3.7.3 anaconda

花大约1分钟时间运行最后一条命令:)

相关问题