Ich erhielt eine environment.ubuntu.yml
Datei, um eine Conda-Umgebung erstellen zu können. Beim Ausführen conda create env --file environment.ubuntu.yml
erhalte ich jedoch die folgende Ausgabe:
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%|
...
Das Finding shortest conflict path
dauert lange - anscheinend wird versucht, einige Abhängigkeitsprobleme zu lösen. Wenn wir 2 Stunden laufen, ist nicht klar, ob es jemals aufhören wird.
Meine Frage ist: Was passiert hier und kann ich diesen Prozess irgendwie manuell beschleunigen, z. B. indem ich unnötige Abhängigkeiten entferne? Da ich die Umgebung nicht erstellt habe, weiß ich nicht, welche tatsächlich notwendig sind.
Der Grund, warum ich neugierig bin, ist, dass es Konfliktpfade überprüft, wie fontconfig[version='>=2.12.6,<3.0a0']
wenn der in dependencies
ist 2.13.1
und ich ihn durch installiert habe2.13.1
Nachfolgend finden Sie die .yml-Datei als Referenz.
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
quelle
pip
Abschnitt entfernt werden, aber das ist nur eine gute Übung und nicht so sehr in Richtung Ihres Ziels, die Umgebung zu erstellen.version='>=2.12.6,<3.0a0'
wenn der independencies
ist2.13.1
und ich es durch installiert habeconda install fontconfig=2.13.1
.fontconfig=2.13.1
als nur eine weitere Einschränkung behandelt wird, zusammen mit denen, die aus allen Paketen stammen, die sie als Abhängigkeit haben (z. B.fontconfig[version='>=2.12.6,<3.0a0']
) und dann versuchen, sie zu finden Der Schnittpunkt. Vielleicht merkt es einfach nicht, dass es tatsächlich keinen Spielraum gibt, weil alle Ihre Spezifikationen bis auf den Build explizit sind.Antworten:
Dieser Fehler und das nachfolgende Verhalten sind sehr wahrscheinlich auf den Anaconda-Fehler zurückzuführen, der von Zeit zu Zeit zu Inkonsistenzen in der lokalen Umgebung führt. Bis zum 26. Januar 2020 war der Fehler noch nicht behoben.
Für mich manifestiert sich das gleiche Problem zutiefst auf dem Mac.
quelle
Im Allgemeinen lautet die Antwort auf diese Frage, dass Sie Ihre .yml von Hand von Grund auf neu erstellen sollten, nur mit den erforderlichen Kanälen und Einschränkungen. Sie sollten die Versionsbeschränkungen lockern, damit sie nur wie 1.19 statt 1.19.10 aussehen
Trotz Befolgung dieses Ratschlags habe ich jetzt fast genau Ihr Problem. Es hat viele Stunden mit fontconfig verbracht und ich habe es über Nacht verlassen, bevor ich aufgegeben habe. Meine Spezifikation ist ziemlich einfach:
Ich werde das bearbeiten, wenn ich es herausfinde.
BEARBEITEN: Dieses Problem wird hier diskutiert (speziell für die Software, die ich einrichten wollte, wahrscheinlich nicht hilfreich für andere). Https://github.com/USGS-Astrogeology/ISIS3/issues/3570
quelle
In meinem Fall hatte ich einige der Build-Versionen (das
...=he4413a7_1000
Teil) ersetzt, da die in der Originaldatei wiebroken
am neu etikettiert worden warenconda-forge
. Obwohl sich die Versionsnummer für diese Abhängigkeiten nicht geändert hatte, hatten sich ihre Unterabhängigkeiten geändert, was all diese Konflikte verursachte. Das Fazit lautet: Spielen Sie nicht manuell mit Abhängigkeiten.Ich habe das Problem gelöst, indem ich die ursprünglichen Build-Versionsspezifikationen beibehalten und
conda-forge/labels/broken
denchannels
Teil der.yml
Datei hinzugefügt habe .quelle
Ich war auch mit dem gleichen Problem unter Windows 10 konfrontiert, als ich Pycharm mit Anaconda (Python 3.7) verwendete, das am 17. Februar 2020 erstellt wurde. Seltsamerweise konnte ich durch Umschalten des "use conda package manager" auf der Projektinterpreter-Seite in den Pycharm-Einstellungen numpy aktualisieren und Pakete normal installieren. Versuchen Sie, ein Paket ohne den conda package manager und mit dem conda package manager zu installieren. Viel Glück!
quelle
Ich habe dieses Problem getroffen und gelöst. Erstens habe ich meine Anaconda-Version so gestaltet, dass sie mit dem Export der Yaml-Datei übereinstimmt. Dies mag nutzlos sein, aber ich denke, dass eine konsistente Conda-Version eine konsistente Basisumgebung versprechen kann. Zweitens habe ich alle Abhängigkeiten gelöscht, aber einige 'Haupt'-Pakete, die ich tatsächlich in meiner yaml-Datei verwenden möchte. Das bedeutet, dass diese' Haupt'-Pakete Abhängigkeitsprobleme behandeln lassen.
quelle
Für mich hat das Hinzufügen der folgenden zur Yaml-Datei funktioniert:
quelle
Für mich hat es am besten funktioniert:
which python
(Bestätigung, dass es sich im anaconda3-Behälter befand)Beachten Sie, welche Version mit der für Anaconda verwendeten Version (hier 3.7.3) übereinstimmt (da ich eine neue Umgebung erstelle, liegt es nahe, dass ich dieselbe Version von Python verwenden könnte, die Anaconda selbst verwendet). Beachten Sie, dass mein Eintrag aus den Conda-Kanälen (Conda-Suche oben) nur eine 3.7.3-Zeile zeigte.
Dann mach das:
Es dauerte ungefähr 1 Minute, um den letzten Befehl auszuführen :)
quelle