CPickle ImportError: no module named multiarray

I use cPickle to save my database to a file. The code is as follows:

def Save_DataBase(): import cPickle from scipy import * from numpy import * a=Results.VersionName #filename='D:/results/'+a[a.find('/')+1:-a.find('/')-2]+Results.AssType[:3]+str(random.randint(0,100))+Results.Distribution+".lft" filename='D:/results/pppp.lft' plik=open(filename,'w') DataOutput=[[[DataBase.Arrays.Nodes,DataBase.Arrays.Links,DataBase.Arrays.Turns,DataBase.Arrays.Connectors,DataBase.Arrays.Zones], [DataBase.Nodes.Data,DataBase.Links.Data,DataBase.Turns.Data,DataBase.OrigConnectors.Data,DataBase.DestConnectors.Data,DataBase.Zones.Data], [DataBase.Nodes.DictionaryPy2Vis,DataBase.Links.DictionaryPy2Vis,DataBase.Turns.DictionaryPy2Vis,DataBase.OrigConnectors.DictionaryPy2Vis,DataBase.DestConnectors.DictionaryPy2Vis,DataBase.Zones.DictionaryPy2Vis], [DataBase.Nodes.DictionaryVis2Py,DataBase.Links.DictionaryVis2Py,DataBase.Turns.DictionaryVis2Py,DataBase.OrigConnectors.DictionaryVis2Py,DataBase.DestConnectors.DictionaryVis2Py,DataBase.Zones.DictionaryVis2Py], [DataBase.Paths.List]],[Results.VersionName,Results.noZones,Results.noNodes,Results.noLinks,Results.noTurns,Results.noTrips, Results.Times.VersionLoad,Results.Times.GetData,Results.Times.GetCoords,Results.Times.CrossTheTime,Results.Times.Plot_Cylinder, Results.AssType,Results.AssParam,Results.tStart,Results.tEnd,Results.Distribution,Results.tVector]] cPickle.dump(DataOutput, plik, protocol=0) plik.close()` 

And it works great. Most of my database rows are lists of datasets, similar to eyelid-like lists, or arrays.

But now, when I enter the data, an error occurs:

 def Load_DataBase(): import cPickle from scipy import * from numpy import * filename='D:/results/pppp.lft' plik= open(filename, 'rb') """ first cPickle load approach """ A= cPickle.load(plik) """ fail """ """ Another approach - data format exact as in Output step above , also fails""" [[[DataBase.Arrays.Nodes,DataBase.Arrays.Links,DataBase.Arrays.Turns,DataBase.Arrays.Connectors,DataBase.Arrays.Zones], [DataBase.Nodes.Data,DataBase.Links.Data,DataBase.Turns.Data,DataBase.OrigConnectors.Data,DataBase.DestConnectors.Data,DataBase.Zones.Data], [DataBase.Nodes.DictionaryPy2Vis,DataBase.Links.DictionaryPy2Vis,DataBase.Turns.DictionaryPy2Vis,DataBase.OrigConnectors.DictionaryPy2Vis,DataBase.DestConnectors.DictionaryPy2Vis,DataBase.Zones.DictionaryPy2Vis], [DataBase.Nodes.DictionaryVis2Py,DataBase.Links.DictionaryVis2Py,DataBase.Turns.DictionaryVis2Py,DataBase.OrigConnectors.DictionaryVis2Py,DataBase.DestConnectors.DictionaryVis2Py,DataBase.Zones.DictionaryVis2Py], [DataBase.Paths.List]],[Results.VersionName,Results.noZones,Results.noNodes,Results.noLinks,Results.noTurns,Results.noTrips, Results.Times.VersionLoad,Results.Times.GetData,Results.Times.GetCoords,Results.Times.CrossTheTime,Results.Times.Plot_Cylinder, Results.AssType,Results.AssParam,Results.tStart,Results.tEnd,Results.Distribution,Results.tVector]]= cPickle.load(plik)` 

Error (in both cases):

  Traceback (most recent call last): File "D:\programy\projekt_eclipse\src\Praca\wx_frame.py", line 342, in LoadDatabase_Handler Load_DataBase() File "D:\programy\projekt_eclipse\src\Praca\wx_frame.py", line 1804, in Load_DataBase A= cPickle.load(plik) ImportError: No module named multiarray 

Any ideas?

PS. Now I solved the problem, say partially: / I needed to change the format of the arrays. I tried to track the error, but could not. The error causing the variable is: long (long :)):

 [[ 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00 0.00000000e+00] [ 1.00000000e+00 0.00000000e+00 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 0.00000000e+00] [ 2.00000000e+00 0.00000000e+00 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.52875186e+04] [ 3.00000000e+00 0.00000000e+00 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.24880978e+04] [ 4.00000000e+00 0.00000000e+00 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.24880978e+04] [ 5.00000000e+00 0.00000000e+00 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.24880978e+04] [ 6.00000000e+00 0.00000000e+00 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.24880978e+04] [ 7.00000000e+00 0.00000000e+00 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.24880978e+04] [ 8.00000000e+00 0.00000000e+00 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.59846476e+04] [ 9.00000000e+00 0.00000000e+00 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 0.00000000e+00] [ 1.00000000e+01 1.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.97583022e+04] [ 1.10000000e+01 1.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.84929461e+04] [ 1.20000000e+01 1.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 8.76891311e+03] [ 1.30000000e+01 1.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 5.10636164e+03] [ 1.40000000e+01 1.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.45841100e+03] [ 1.50000000e+01 1.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 4.22093915e+03] [ 1.60000000e+01 1.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.20282091e+03] [ 1.70000000e+01 1.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.86566159e+04] [ 1.80000000e+01 1.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.80902598e+04] [ 1.90000000e+01 2.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.23193676e+04] [ 2.00000000e+01 2.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.16000116e+04] [ 2.10000000e+01 2.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.05680012e+03] [ 2.20000000e+01 2.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.89123867e+03] [ 2.30000000e+01 2.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 4.98898168e+03] [ 2.40000000e+01 2.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 7.44216130e+03] [ 2.50000000e+01 2.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.23593332e+04] [ 2.60000000e+01 2.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.14424233e+04] [ 2.70000000e+01 2.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.91864355e+04] [ 2.80000000e+01 3.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.07766798e+04] [ 2.90000000e+01 3.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 8.61849685e+03] [ 3.00000000e+01 3.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.09785208e+04] [ 3.10000000e+01 3.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 8.99736773e+03] [ 3.20000000e+01 3.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.06209122e+03] [ 3.30000000e+01 3.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.48702707e+03] [ 3.40000000e+01 3.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.04653099e+04] [ 3.50000000e+01 3.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.25314801e+03] [ 3.60000000e+01 3.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.67608539e+04] [ 3.70000000e+01 4.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.07766798e+04] [ 3.80000000e+01 4.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.82241178e+03] [ 3.90000000e+01 4.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 8.05149043e+03] [ 4.00000000e+01 4.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.55692239e+03] [ 4.10000000e+01 4.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.19199226e+04] [ 4.20000000e+01 4.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 8.43876335e+03] [ 4.30000000e+01 4.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 4.90454231e+03] [ 4.40000000e+01 4.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.03525083e+03] [ 4.50000000e+01 4.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.67608539e+04] [ 4.60000000e+01 5.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.07766798e+04] [ 4.70000000e+01 5.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.07842319e+03] [ 4.80000000e+01 5.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.48191278e+03] [ 4.90000000e+01 5.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.06547361e+04] [ 5.00000000e+01 5.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.27500595e+04] [ 5.10000000e+01 5.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.62319628e+03] [ 5.20000000e+01 5.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.50364667e+03] [ 5.30000000e+01 5.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.48651846e+03] [ 5.40000000e+01 5.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.67608539e+04] [ 5.50000000e+01 6.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.16862400e+04] [ 5.60000000e+01 6.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.88311307e+03] [ 5.70000000e+01 6.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 7.89923519e+03] [ 5.80000000e+01 6.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 8.16959736e+03] [ 5.90000000e+01 6.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.49942081e+03] [ 6.00000000e+01 6.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 6.24620368e+03] [ 6.10000000e+01 6.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.27811830e+03] [ 6.20000000e+01 6.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.13336356e+04] [ 6.30000000e+01 6.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.91853045e+04] [ 6.40000000e+01 7.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.67326624e+04] [ 6.50000000e+01 7.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.79192625e+04] [ 6.60000000e+01 7.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.35835049e+03] [ 6.70000000e+01 7.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 4.66349011e+03] [ 6.80000000e+01 7.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.88664273e+03] [ 6.90000000e+01 7.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 4.15546726e+03] [ 7.00000000e+01 7.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 9.26420582e+03] [ 7.10000000e+01 7.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 1.80179725e+04] [ 7.20000000e+01 7.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.69846102e+04] [ 7.30000000e+01 8.00000000e+03 0.00000000e+00 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 0.00000000e+00] [ 7.40000000e+01 8.00000000e+03 1.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.66207833e+04] [ 7.50000000e+01 8.00000000e+03 2.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.32529854e+04] [ 7.60000000e+01 8.00000000e+03 3.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.32529854e+04] [ 7.70000000e+01 8.00000000e+03 4.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.32529854e+04] [ 7.80000000e+01 8.00000000e+03 5.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.32529854e+04] [ 7.90000000e+01 8.00000000e+03 6.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 2.32529854e+04] [ 8.00000000e+01 8.00000000e+03 7.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 3.70098656e+04] [ 8.10000000e+01 8.00000000e+03 8.00000000e+03 2.00000000e+01 0.00000000e+00 5.00000000e+02 2.00000000e+01 0.00000000e+00]] 

cPickle, or pickle cannot load it. But when I do it manually using the console, the same file structure ([[]] and all exaclty formats are the same, the values ​​are also e + 00 format). Then it works fine ??????????? What the heck? Anyway, I solved the problem with a modified data format: /

+4
source share
6 answers

I had the same problem on a computer running Windows XP with code that worked fine under Linux. This may be related to various processing of text and binary files. When writing data, try to create an object file, explicitly stating that you want binary mode, i.e.

 plik=open(filename,'wb') 

instead

 plik=open(filename,'w') 

It worked for me.

+9
source

First of all, check if the file $ YOUR_PYTHON_INSTALLATION / lib / python-xx / site-packages / numpy / core / multiarray.so exists.

And it would be very helpful if you posted the full trace, and not just the error message.

+2
source

Have you tried importing multiarray explicitly? pickle needs all the classes that must be defined to import data.

+1
source

This can be caused by git changing line endings on a Windows machine using autocrlf. You will notice that this will not be a problem until you change the branches or do something else that will delete and overwrite the file on disk. Add this line to your .gitattributes file to avoid overwriting line endings in text (but actually binary!) Pickle files:

 # .gitattributes # Pickle files are to be treated as binary. *.p binary *.lft binary 
+1
source

Could you post the full trace, as it would be useful to know where this error came from. Also, could you provide a trace for the save case, I wonder if this happens during serialization or somewhere earlier.

0
source

You must use very old Python. Because 'import *' is only available at the module level. In any case, to answer your question:

Move these statements

 import cPickle from scipy import * from numpy import * 

from the definition of Load_DataBase, and everything will be fine. The exception was that cPickle could not find meta information for plik content.

0
source

Source: https://habr.com/ru/post/1312306/


All Articles