7
>>> import theano 
Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
File "/Library/Python/2.7/site-packages/theano/__init__.py", line 52, in <module> 
from theano.gof import (
File "/Library/Python/2.7/site-packages/theano/gof/__init__.py", line 38, in <module> 
from theano.gof.cc import \ 
File "/Library/Python/2.7/site-packages/theano/gof/cc.py", line 30, in <module> 
from theano.gof import link 
File "/Library/Python/2.7/site-packages/theano/gof/link.py", line 18, in <module> 
from theano.gof.type import Type 
File "/Library/Python/2.7/site-packages/theano/gof/type.py", line 17, in <module> 
from theano.gof.op import CLinkerObject 
File "/Library/Python/2.7/site-packages/theano/gof/op.py", line 25, in <module> 
from theano.gof.cmodule import GCC_compiler 
File "/Library/Python/2.7/site-packages/theano/gof/cmodule.py", line 8, in <module> 
import six.moves.cPickle as pickle 
ImportError: No module named cPickle 

Ich bin mir ziemlich sicher, dass gibt es kein Problem mit cPickle. Kann es das Problem anderer Abhängigkeiten sein? Es stimmt, dass ich heute Morgen alle Pakete aktualisiert habe, so dass ein Versionskonflikt auftreten kann. Nichtsdestotrotz existiert das Problem immer noch, nachdem ich auf die neueste Version von theano gewechselt habe. Würde mir jemand helfen, es herauszufinden?Theano Importfehler: Kein Modul namens cPickle

PS: Mein Entwicklungsgerät ist Macbook Pro 13 (Anfang 2015); Meine Systemversion ist OS X 10.10.5; Python-Version ist 2.7.10

=========================== Zweite bearbeiten =========== ======================

Es scheint, dass ich die neueste Version von sechs auf meinem Mac installiert habe.

YiqundeMacBook-Pro:~ Leo$ pip show six 
--- 
Metadata-Version: 2.0 
Name: six 
Version: 1.9.0 
Summary: Python 2 and 3 compatibility utilities 
Home-page: http://pypi.python.org/pypi/six/ 
Author: Benjamin Peterson 
Author-email: [email protected] 
License: MIT 
Location: /Library/Python/2.7/site-packages 
Requires: 
+0

'six' ist ein Kompatibilitätspaket zwischen Python 2 und Python 3-Code. Aus irgendeinem Grund stellt es nicht fest, dass Sie 'cPickle' Modul verfügbar haben, obwohl Python 2 es immer hat. Ich schlage vor, Sie öffnen die Quelle 'six.moves' und versuchen herauszufinden, was dort vor sich geht. –

+0

Es gibt keine Quelle 'six.moves' und die Art, wie' six' bestimmt "ob' cPickle' verfügbar ist, ist im Wesentlichen abhängig davon, ob es unter Python 2 oder 3 läuft, fest codiert. Stellen Sie sicher, dass Sie die neueste Version von ' sechs (1.9.0) installiert. Wenn ja, melden Sie das Problem als Fehler über [https://bitbucket.org/gutworth/six](https://bitbucket.org/gutworth/six). – martineau

+0

@martineau Ich bin sicher, ich habe die neueste Version von 'sechs'. (Siehe mein letztes Update der Frage) –

Antwort

7

Ich hatte das gleiche Problem und sechs gelöst Ausgabe Upgrade:

sudo easy_install --upgrade six 
+0

Das funktionierte für mich, danke! –

2

Versuchen unter allen Umständen mit sudo zu vermeiden. Öffnen Sie eine Python-Sitzung und führen

import six 
print six.__version__ 
print six.__file__ 

Die Version wird nicht wahrscheinlich jüngste (1.10.0), so gehen Sie manuell die six.py und six.pyc Dateien auf dem importierten Pfad löschen, und dann pip install six laufen. Python sollte jetzt die neueste Version von sechs, kompatibel mit Theano importieren :)