2016-06-28 4 views
6

entkommen Ich habe installiert pyzo und miniconda unter 10 Fenster installiert numpy und matplotlibconda install verwenden. Aber wenn ich versuche,Import numpy wirft Fehler: Syntaxerror: (Unicode-Fehler) 'unicodeescape' Codec kann nicht dekodieren Bytes in Position 2-3: abgeschnitten uXXXX

import numpy as np 
import matplotlib.pyplot as plt 

Ich erhalte diesen Fehler zu laufen:

Traceback (most recent call last): 
    File "<tmp 1>", line 3, in <module> 
    import numpy 
    File "c:\users\jakub\miniconda3\lib\site-packages\numpy\__init__.py", line 165, in <module> 
    from numpy.__config__ import show as show_config 
    File "c:\users\jakub\miniconda3\lib\site-packages\numpy\__config__.py", line 5 
    lapack_mkl_info={'libraries': ['mkl_lapack95_lp64', 'mkl_core_dll', 'mkl_intel_lp64_dll', 'mkl_intel_thread_dll'], 'define_macros': [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)], 'include_dirs': ['c:\users\jakub\miniconda3\\Library\\include'], 'library_dirs': ['c:\users\jakub\miniconda3\\Library\\lib']} 
                                                    ^
SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 2-3: truncated \uXXXX escape 

Ich habe keine Nicht-Standard-Zeichen entweder in meinem Code noch in der Verzeichnisstruktur ... Ich habe viele Artikel gelesen, die sich auf ähnliche Probleme mit UTF-8 beziehen, aber dies ist anders als beim ersten Import.

+0

überprüfen Sie, ob Ihre Installation abgeschlossen und arbeiten, siehe zum Beispiel [diesen sehr aktuellen Beitrag] (http://stackoverflow.com/questions/38083176/python-3-5-1-unable-to-import-numpy-after-update#38083176). Das erneute Installieren von Paketen könnte helfen. –

+0

@QoP: Verwenden Sie die Codeformatierung für Rückverfolgungen, nicht die Formatierung von Anführungszeichen. – user2357112

+0

versucht Conda zu deinstallieren numpy und dann installieren Sie es zurück, aber das Problem besteht immer noch ... Einige Module können einige nicht importieren ... – Jakub

Antwort

9

Wenn Conda Pakete installiert, ersetzt es das Präfix, um die Dinge verlagerbar zu machen. Leider entkommt es Backslashes nicht intelligent, daher führen diese unausgeglichenen Backslashes unter Windows zu dem Fehler, den Sie sehen.

In den letzten Versionen von Conda verwenden wir Schrägstriche beim Ersetzen von Präfixen, und dieses Problem verschwindet. Wenn Sie Conda aktualisieren können, gehen Sie das. Wenn nicht, hat numpy Präfixe in den folgenden Dateien:

"Lib/site-packages/numpy/distutils/site.cfg" 
"Scripts/f2py.py" 
"Lib/site-packages/numpy/config.py" 
"Lib/site-packages/numpy/distutils/config.py" 

Überprüfung dieser drei besonders, und ersetzen Sie alle nicht geschützten Backslash (\) mit entweder entkommen Einsen (\\) oder Schrägstriche

3

So Schwierigkeiten in für Menschen mit

import numpy 

Windows mit 10 + Anaconda:

ersetzt ich alle Einzel '\' zu verdoppeln '\\' in

\Lib\site-packages\numpy\__config__.py 

Ich konnte danach numpy importieren.

+1

So ist die Lektion gelernt: Wenn Sie Unicode-Syntaxfehler in Python 3 bekommen, schauen Sie in Ihrem Quellcode, wenn Rückwärtszeichen ('\') vorhanden sind. Wenn es keine gibt, schauen Sie in die Bibliotheken. Sie können das verletzende Zeichen enthalten. Wenn sie gefunden wurden, ersetzen Sie sie durch Schrägstrich oder Doppelrückstrich. – Raja

0

ich gerade jetzt keras heruntergeladen haben, und setzen Sie diese einzelne Zeile in einem Python-Skript:

from keras.layers import Dense 

Wenn ich versuche, es zu laufen, ich die Fehlermeldung: Syntaxerror: (Unicode-Fehler) ‚unicodeescape‘ Codec kann Bytes in Position 2-3 nicht dekodieren: abgeschnitten \ UXXXXXXXX Escape.

Ich benutze Anaconda mit einer virtuellen Umgebung für Python 3.5. Es scheint, als ob einige Pfadnamen in Keras diesen Fehler verursachen. Gibt es irgendwelche Arbeit, ohne jede Quelldatei zu suchen und zu bearbeiten?

+0

@Master Uv Puppetz hat mich dazu inspiriert, das Problem genauer zu untersuchen. Ich stellte fest, dass mit Keras nichts falsch ist, aber der Schuldige war taub. Ich habe die Datei \ Lib \ site-packages \ numpy \ __ config__.py bearbeitet und jedes '\' in '\\' umgewandelt und das Problem ist verschwunden. Danke Meister ! – Raja

0

So funktionierte es für mich: double \ vor und nach dem Benutzer Wort.

Zum Beispiel: \\users\\admin\anaconda3\sample.wav

Ich verwende Python 3.6 auf Windows 7

nicht sicher, warum die Post nur ein \ nach und vor dem Benutzer Wort auf dem Weg hält

Verwandte Themen