Ich klonte nur eine funktionierende Miniconda-Umgebung carnd-term1-gpu
, die Tensorflow mit GPU arbeiten mit Tensorflow-Version '0.12.1' hatte. In der Umgebung waren viele andere Python-Pakete installiert. Ich wollte auf die neueste Version von tensorflow aktualisieren, so dass ich die Basis folgende auf tensorflow Ubuntu:Installieren von Tensorflow in geklonter Conda-Umgebung bricht Conda-Umgebung wurde geklont von
1) als die bestehende Arbeitsumgebung geklonten tflow
conda create --name tflow --clone carnd-term1-gpu
Diese erfolgreich abgeschlossen.
2) Quelle aktivieren TVorlauf und installieren pip mit
source activate tflow
(tflow) [email protected]:~$ pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp35-cp35m-linux_x86_64.whl
Jetzt versuche ich, vorausgesetzt, die alte Umgebung ausgeführt werden, dass sie nicht geändert werden sollte.
source activate carnd-term1-gpu
ipython
Dann von ipython Prompt Typ import numpy as np
und erhalten folgende:
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
<ipython-input-1-4ee716103900> in <module>()
----> 1 import numpy as np
/home/ai/miniconda3/envs/carnd-term1-gpu/lib/python3.5/site-packages/numpy/__init__.py in <module>()
140 return loader(*packages, **options)
141
--> 142 from . import add_newdocs
143 __all__ = ['add_newdocs',
144 'ModuleDeprecationWarning',
/home/ai/miniconda3/envs/carnd-term1-gpu/lib/python3.5/site-packages/numpy/add_newdocs.py in <module>()
11 from __future__ import division, absolute_import, print_function
12
---> 13 from numpy.lib import add_newdoc
14
15 ###############################################################################
/home/ai/miniconda3/envs/carnd-term1-gpu/lib/python3.5/site-packages/numpy/lib/__init__.py in <module>()
6 from numpy.version import version as __version__
7
----> 8 from .type_check import *
9 from .index_tricks import *
10 from .function_base import *
/home/ai/miniconda3/envs/carnd-term1-gpu/lib/python3.5/site-packages/numpy/lib/type_check.py in <module>()
9 'common_type']
10
---> 11 import numpy.core.numeric as _nx
12 from numpy.core.numeric import asarray, asanyarray, array, isnan, \
13 obj2sctype, zeros
/home/ai/miniconda3/envs/carnd-term1-gpu/lib/python3.5/site-packages/numpy/core/__init__.py in <module>()
51 from . import shape_base
52 from .shape_base import *
---> 53 from . import einsumfunc
54 from .einsumfunc import *
55 del nt
ImportError: cannot import name 'einsumfunc'
Ich dachte, ich durch Klonen eine separate Umgebung geschützt war und nur, dass die Umwelt zu ändern, aber es scheint, dass die in einer Umgebung installieren geändert Verhalten in der anderen Umgebung. Genau das, was ich zu vermeiden glaubte! Was ist schief gelaufen und wie repariere ich das? Die neue Umgebung scheint bisher gut zu funktionieren.
Ich überprüfte die Dateidaten in beiden Umgebungen. Die carnd-term1-gpu
Umgebung hatte Dateien, die am selben Tag datiert wurden, an dem ich das Upgrade in der tflow
-Umgebung durchgeführt habe. Irgendwelche Ideen, wie das passieren könnte?
Ich habe versucht, die fehlende Datei einsumfunc.py
zu meiner carnd-term1-gpu
Umgebung hinzuzufügen und Ipython erneut gestartet. Dieses Mal, als ich import numpy as np
eine andere Datei konnte nicht importiert werden konnte. So sieht es aus wie meine carnd-term1-gpu
Umgebung ist beschädigt.
conda list
für jede Umgebung vergleichen und suchen nur bei numpy
, sehe ich folgendes: Für tflow
Umgebung:
numpy 1.11.3 <pip>
numpy 1.12.1 <pip>
numpy 1.11.3 py35_blas_openblas_200 [blas_openblas] conda-forge
Und für carnd-term1-gpu
Umgebung:
numpy 1.11.3 <pip>
numpy 1.11.3 py35_blas_openblas_200 [blas_openblas] conda-forge
ich dann bei Revisionen sah mit conda list --revisions
. Beide Umgebungen zeigen nur eine einzige Revision von rev 0
. Gleichermaßen zeigt conda-meta/history
nur die ursprünglichen Erstellungsdaten vom 13. Januar für carnd-term1-gpu
und 9. Mai für tflow
. So ist die Kombination dieser Version von pip:
pip 9.0.1 py35_0 conda-forge
mit diesem Rad kombiniert:
https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow_gpu-1.1.0-cp35-cp35m-linux_x86_64.whl
beschädigt irgendwie die Umwelt carnd-term1-gpu
. Das scheint entweder ein Fehler zu sein oder ich habe irgendwie ein beschädigtes Rad von der Tensorflow-Seite bekommen? Wenn es der spätere ist, wie könnte es eine andere Umgebung als die von der installierten beschädigen? Hinweis Version von Pip war in beiden Umgebungen identisch.
Ich habe Folgendes getan, um zu untersuchen, welche Dateien am Datum der Installation geändert wurden.
find /home/ai/miniconda3/envs/carnd-term1-gpu/ -type f -newermt 2017-05-09 -ls | wc -l
Dies zeigte 669 Dateien wurden erstellt/geändert. Die meisten davon waren in /site-packages/numpy/
, aber auch six.py
, pyparsing.py
, /setuptools/
, /pkg_resources/
, easy_install.py
, /werkzeug/
waren ebenfalls betroffen.
conda --version
ist 4.2.12
Ich versuchte, wieder in Gang folgend zu meiner alten Umgebung zu bekommen.
conda env export > environment.yml
conda env create -f environment.yml -n sdc-gpu
Daraus ergab sich folgende Fehler:
Could not import setuptools which is required to install from a source distribution.
Traceback (most recent call last):
File "/home/ai/miniconda3/envs/sdc-gpu/lib/python3.5/site-packages/pip/req/req_install.py", line 387, in setup_py
import setuptools # noqa
File "/home/ai/miniconda3/envs/sdc-gpu/lib/python3.5/site-packages/setuptools/__init__.py", line 12, in <module>
import setuptools.version
File "/home/ai/miniconda3/envs/sdc-gpu/lib/python3.5/site-packages/setuptools/version.py", line 1, in <module>
import pkg_resources
File "/home/ai/miniconda3/envs/sdc-gpu/lib/python3.5/site-packages/pkg_resources/__init__.py", line 70, in <module>
import packaging.version
ImportError: No module named 'packaging'
CondaValueError: Value error: pip returned an error.
Welche Version von Conda ist das? Share output für 'conda --version' –
Ich habe am Ende des Beitrags die conda Version hinzugefügt. 4.2.12 –
Könnten Sie bitte versuchen, die Version von Conda auf 4.3.17 zu aktualisieren, um zu sehen, ob das Problem weiterhin besteht? 'conda update conda' –