[PYTHON] Eine Geschichte, die unter einem Unterschied im Betriebssystem litt, als sie versuchte, ein Papier zu implementieren

image.png

Es gibt eine Forschung zur freien Erzeugung menschlicher Körper mit verschiedenen Körperformen und -posen, und ein Programm, das auf Python ausgeführt wird, wird verteilt (obwohl es sich um ein Registrierungssystem handelt). Wir sind.

Liesmich

System Requirements:
====================
Operating system: OSX, Linux

Weil es heißt, Windows soll nicht. Das heißt, ich dachte, es würde funktionieren, und am Ende konnte ich es in meiner Umgebung (Windows 10 64-Bit) ausführen, aber ich hörte, dass ich viele Probleme hatte.

Falle 1 muss passieren

Dies war ein Notizumschlag persönlich, aber vorerst. Ich habe mein eigenes Modul lokal gespeichert, daher muss ich es in meinen PATH einfügen. Wie in der README-Datei angegeben, auf dem Mac am Ende von ".bash_profile" in Ihrem Home-Verzeichnis

SMPL_LOCATION=~/smpl
export PYTHONPATH=$PYTHONPATH:$SMPL_LOCATION

Fügen Sie die Buchstaben hinzu.

In Windows müssen Sie Ihre eigenen Einstellungen vornehmen, indem Sie zu "Systemsteuerung> Benutzerkonto> Benutzerkonto" (Warum an einem so seltsamen Ort ...) und "Umgebungsvariablen ändern" gehen.

Trap 2 Python-Serie ist 2

Dies wurde sofort gelöst, aber es war eine Falle. Da die Anweisung des Programms Python 2-Serie ist, muss die zu verwendende Python-Umgebung auch 2-Serie sein. Wenn die Versionen unterschiedlich sind, unterscheidet sich das Format der Anweisung "print" in erster Linie, und die Module sind möglicherweise vor einem so trivialen Problem nicht vollständig. Daher ist es äußerst selten, dass sie so ausgeführt werden können, wie sie sind.

SyntaxError: Missing parentheses in call to 'print'. Did you mean print(…)?

Wenn Sie den Fehler erhalten, ist es sehr wahrscheinlich, dass Sie ein Programm der zweiten Serie auf einem Python der dritten Serie ausführen.

Der Name des Trap 3-Moduls unterscheidet sich geringfügig

README erfordert "Numpy", "Scipy", "Chumpy", "OpenCV", und natürlich werden Sie es mit "pip" installieren, aber das letzte "OpenCV" wird nicht getroffen. Wenn Sie es so ausführen, wie es ist, wird gesagt, dass es nutzlos ist, wenn es kein Modul namens "cv2" gibt, so dass Sie nicht versuchen können, mit "cv2" zu tippen. In Bezug auf die Ergebnisse,

pip install opencv-python

War die richtige Antwort. Nun, es kann gesunder Menschenverstand in der Nachbarschaft sein ...

Falle 4 EOFError

Früher war es wie ein Außenposten, jetzt ist es eine echte Falle **. Wenn Sie der Meinung sind, dass die Umgebung sicher ist und Sie sie ausführen möchten, wird der folgende Fehler angezeigt.

Traceback (most recent call last):
  File "hello_smpl.py", line 48, in <module>
    m = load_model( '../../models/basicModel_f_lbs_10_207_0_v1.0.0.pkl' )
  File "C:\Users\~~~\smpl\smpl_webuser\serialization.py", line 116, in load_model
    dd = ready_arguments(fname_or_dict)
  File "C:\Users\~~~\smpl\smpl_webuser\serialization.py", line 80, in ready_arguments
    dd = pickle.load(open(fname_or_dict))
EOFError

Wenn ich mit "EOFError" google, wird beim Lesen einer leeren Datei eine Warnung angezeigt, die Datei kann jedoch ordnungsgemäß angegeben werden. Außerdem unterscheidet sich die Fehlermeldung geringfügig von der im Fall angezeigten. Anscheinend spielt es keine Rolle, ob die Datei leer ist oder nicht. Ich habe mich eine Weile gefragt, was das bedeutet, aber als ich danach mit der Untersuchung fortfuhr,

Unter Windows müssen Sie beim Umgang mit Binärdateien im Pickle-Modul Folgendes mit Zeichen angeben:

Es scheint, dass. [(Referenzartikel)](https://ja.stackoverflow.com/questions/18992/python-pickle%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3 % 83% AB% E3% 83% A2% E3% 83% BC% E3% 83% 89-% E3% 83% 90% E3% 82% A4% E3% 83% 8A% E3% 83% AA% E3% 83% A2% E3% 83% BC% E3% 83% 89% E3% 81% AE% E5% BF% 85% E7% 84% B6% E6% 80% A7) Insbesondere befindet es sich in der enthaltenen serialization.py

dd = pickle.load(open(fname_or_dict))

Der Satz

dd = pickle.load(open(fname_or_dict,`rb`))

Muss sein. Jetzt können Sie es endlich tun. Zumindest in meiner Umgebung.

Als ich es später mit MacBook Pro überprüfte, hatte ich mit MacOSX kein solches Problem. Unterschied im Betriebssystem …….

Falle, die opendr nicht gelöst werden konnte

Wenn ich versuche, ein anderes Beispielprogramm auszuführen, heißt es, dass es kein Modul namens "opendr" gibt. Dann dachte ich, ich würde "pip" machen ... aber ein Fehler. Als ich die Fehlermeldung las, wurde ich aufgefordert, C ++ Compiler einzufügen, also gab ich sie ein und versuchte es erneut. Aber,

    LINK : warning LNK4044:Möglichkeit'/lstdc++'Ist ungültig. Es wird ignoriert.
    LINK : fatal error LNK1181:Eingabedatei'OSMesa.lib'Ich kann es nicht öffnen.
    error: command 'C:\\Program Files (x86)\\Microsoft Visual Studio\\2017\\Community\\VC\\Tools\\MSVC\\14.16.27023\\bin\\HostX86\\x64\\link.exe' failed with exit status 1181

Bei der Suche finde ich ähnliche Fälle, aber die betreffende Datei (OSMesa.lib) ist anders, sodass sie anscheinend nicht umgeleitet werden kann. Und wenn Sie sich dieses OS Mesa ansehen, können Sie sehen, dass es sich um eine unter Linux installierte Bibliothek handelt.

Kein Fehler, als ich es mit MacBook Pro versuchte. Es scheint, dass es ein Modul zur Anzeige des Betrachters in 3D war. Aber auch hier ist der Unterschied im Betriebssystem ...

Was ich dachte

Es gibt viele Unterschiede in Versionen und Betriebssystemen ...

Recommended Posts

Eine Geschichte, die unter einem Unterschied im Betriebssystem litt, als sie versuchte, ein Papier zu implementieren
Eine Geschichte, die fehlgeschlagen ist, als versucht wurde, das Suffix mit rstrip aus einem String zu entfernen
Eine Geschichte, die beim Versuch, die Python-Version mit GCE zu aktualisieren, hängen blieb
Eine Geschichte über den Versuch, private Variablen in Python zu implementieren.
Eine Geschichte, die ich süchtig danach war, Lambda von AWS Lambda anzurufen.
Eine Geschichte über den Versuch, einen Chot zu automatisieren, wenn Sie selbst kochen
Eine Geschichte, die ich behoben habe, als ich das Lambda-Protokoll von Cloudwatch Logs erhalten habe
Zu beachtende Punkte beim Wechsel von NAOqi OS 2.4.3 zu 2.5.5
Eine Geschichte, der ich nach der SFTP-Kommunikation mit Python verfallen war
Eine Geschichte, die es ermöglichte, automatisch eine Anison-Wiedergabeliste aus Ihren Musikdateien zu erstellen
Eine Geschichte, die stolperte, als ich mit Transformer einen Chat-Chat-Bot erstellte
Eine Geschichte über das Erstellen eines UNIX / Linux-kompatiblen Betriebssystems von Grund auf neu
Technologie, die Jupiter unterstützt: Traitlets (Geschichte des Entschlüsselungsversuchs)
[Python] Eine Geschichte, die in eine Rundungsfalle zu geraten schien
Eine Geschichte, die nicht funktioniert hat, als ich versucht habe, mich mit dem Python-Anforderungsmodul anzumelden
Eine Geschichte, in der der Algorithmus zu einem lächerlichen Ergebnis kam, als er versuchte, das Problem der reisenden Verkäufer richtig zu lösen
Über den Fehler, den ich beim Versuch, Adafruit_DHT von Python auf Raspberry Pi zu verwenden, festgestellt habe
Phänomen, dass Zeichen verschwinden, wenn versucht wird, ein Zeichen ohne Eingabe einzugeben
Die Geschichte, dass ein Hash-Fehler bei der Verwendung von Pipenv auftrat
Eine Geschichte, die Schwierigkeiten hatte, 3 Millionen ID-Daten in einer Schleife zu verarbeiten
Hinweise zum Verbinden von Bluetooth von einem Smartphone / PC mit Raspeye 4
Die Geschichte, dass der Wachmann eingesperrt war, als das Labor auf IoT umgestellt wurde
Eine Geschichte, in der ein Anfänger beim Versuch, eine Vim 8.2 + Python 3.8.2 + Lua-Plug-In-Umgebung unter Ubuntu 18.04.4 LTS zu erstellen, nicht weiterkommt
Eine Geschichte über das Erstellen eines Programms, mit dem die Anzahl der Instagram-Follower in einer Woche von 0 auf 700 erhöht wird