Ich hatte gedacht, ich benutze die neueste Version von numpy (1.10) Zumindest, wenn ich pip list
laufen sehe ich numpy (1.10.4)
. Allerdings, wenn ich in den Python-Interpreter und gebenWie kann ich numpy_1.8 durch das Maskieren von numpy_1.10 stoppen?
import numpy
numpy.__version__
Ich sehe
'1.8.2'
Ich gehe davon aus, dass die 1.8.2 wurde irgendwann nach der 1.10-Version installiert, weil ich vor kurzem einige neue installiert haben Pakete und ich jetzt, wenn ich einige Code ausführen, der die Arbeit verwendet wird, bekomme ich diesen Fehler:
RuntimeError: module compiled against API version a but this version of numpy is 9
In OpenCV 2.4.8: module compiled against API version 9 die akzeptierte Antwort erwähnt, dass die numpy Team auf Version 1 bezieht. 8 als numpy Version 9. Also, ich denke, dass ich ursprünglich numpy_1.10 verwendet habe und irgendwie numpy_1.8 installiert habe.
Meine erste Frage ist: Wie ist das passiert und wie kann ich dagegen wehren?
Ich möchte auch wissen, wie ich numpy_1.8 vom Blockieren 1.10 stoppen kann. Mein erster Gedanke war, numpy_1.8 mit apt-get zu entfernen, aber das hätte viele andere Pakete entfernt, die von 1.8 abhängig sind.
Ich wäre versucht, nur RM zu verwenden, um die Version 1.8 loszuwerden, aber bin besorgt, dass diese anderen Pakete betroffen wären.
Mein zweiter Gedanke ist, sys.path zu ändern, um sicherzustellen, dass die Version 1.10 vor der Version 1.8 gesehen wird. Bis jetzt benutze ich PYTHONPATH nicht. Gibt es eine Möglichkeit, sys.path ohne PYTHONPATH zu ändern? Ist das ein vernünftiger Ansatz?
OK - ich nehme an, mit virtualenv oder Docker würde mir helfen, aber ich muss noch herausfinden, was jetzt zu tun ist. – user1245262