{"id":41870,"date":"2020-02-17T11:17:15","date_gmt":"2020-02-17T08:17:15","guid":{"rendered":"https:\/\/prohoster.info\/blog\/blog_prohoster\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux"},"modified":"2020-02-17T11:17:15","modified_gmt":"2020-02-17T08:17:15","slug":"ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/de\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux","title":{"rendered":"Installation der or-tools mit SCIP und GLPK in einer virtuellen Umgebung Python 3.7 auf Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ich habe beschlossen, am <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kaggle.com\/c\/santa-workshop-tour-2019\">Wettbewerb<\/a><\/noindex> teilzunehmen und daf\u00fcr mussten Pakete zur L\u00f6sung von Optimierungsaufgaben verwendet werden. Ich w\u00e4hlte das Google-Tool or-tools, das eine Schnittstelle f\u00fcr verschiedene Solver bietet. Es enth\u00e4lt mehrere Optimierungstools, aber die Entwickler geben an, dass mehrere externe Pakete, einschlie\u00dflich kommerzieller wie Gurobi und CPLEX, unterst\u00fctzt werden. Allerdings sind wir nicht wohlhabend, und wir werden die kostenlosen SCIP und GLPK verwenden (\u00fcbrigens von einem inl\u00e4ndischen Entwickler). Zu meinem Erstaunen fand ich keine Anleitung, wie man all diese Pracht in einer virtuellen Python-Umgebung zum Laufen bringt, sowohl im russischen als auch im englischsprachigen Internet-Segment, und musste ein wenig herumprobieren. F\u00fcr die, die es eilig haben, lesen Sie sofort <noindex><a rel=\"nofollow\" href=\"#guide\">hier<\/a><\/noindex>, allen anderen empfehle ich, sich mit meiner fragw\u00fcrdigen Schreiberkunst vertraut zu machen, die die Widrigkeiten der Installation von Google-Software beschreibt. Ja, ich habe ganz vergessen zu erw\u00e4hnen, dass alles auf Manjaro Linux installiert wurde.<\/p>\n<p><img decoding=\"async\" alt=\"Installation der or-tools mit SCIP und GLPK in einer virtuellen Umgebung Python 3.7 auf Linux\" src=\"\/wp-content\/uploads\/2020\/02\/d65bca44558d794b0fc6ff0e911725fc.jpeg\" style=\"display:block;margin: 0 auto;\" \/><noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Die ersten Schritte<\/h2>\n<p>\nAlle drei Pakete existieren im Python-Repository, also installieren wir sie \u00fcber pip.<\/p>\n<p>Jedes dieser Pakete hat seine eigene Schnittstelle, und or-tools wurde genau daf\u00fcr ausgew\u00e4hlt, um verschiedene Pakete auszuprobieren, ohne die Anwendung erheblich umzuschreiben. Daher besteht die Aufgabe darin, dass or-tools diese Solver erkennt und sie \u00fcber sich selbst ausf\u00fchrt. Und was denken Sie? Das \u00fcber pip installierte or-tools erkennt die \u00fcber pip installierten Solver nicht, und die wiederum erkennen es nicht (wer h\u00e4tte das gedacht). Das bedeutet, wir m\u00fcssen uns doch anschauen, was in den <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux\">Dokumentation<\/a><\/noindex>.<br \/>\nDokumenten steht, wo erw\u00e4hnt wird, dass man aus den Quellen kompilieren muss, damit or-tools die externen Pakete erkennt. Wir versuchen, es zu kompilieren, und es klappt nicht, weil die \u00fcber pip installierten Solver nicht sichtbar sind. <br \/>\nFolglich funktionieren die einfachsten Installationsmethoden f\u00fcr alle Pakete \u00fcber pip nicht, weil or-tools die Solver nicht abruft, die Solver die Bibliotheken nicht so installieren, wie or-tools es m\u00f6chte, und alle dir Fehler entgegenwerfen, dich dumm nennen und sich auf verschiedene Weise \u00fcber dich lustig machen. <\/p>\n<p>Weiterhin wird in den <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux#install-the-scip-optimization-suite\">Dokumenten<\/a><\/noindex> gesagt, dass die Solver aus den Quellen kompiliert werden m\u00fcssen, gefolgt von der Kompilierung von or-tools aus den Quellen selbst. Gesagt, getan! Ich habe SCIP installiert, GLPK installiert, aber es blieb die nicht in der Dokumentation beschriebene Frage, wie man or-tools in einer virtuellen Umgebung installiert. <\/p>\n<p>Der einzige im Dokument vermerkte Befehl make python installiert das Paket global im System (erstaunlich, oder?).<\/p>\n<p>Ich hatte jedoch Gl\u00fcck: W\u00e4hrend meiner ingenieurtechnischen Suche durch endlose Versuche tippte ich zuf\u00e4llig den Befehl make help ein, und mir wurde eine Liste aller Build-Optionen f\u00fcr or-tools angezeigt, darunter die M\u00f6glichkeit, ein Wheel-Paket zu erstellen. Das ist der Befehl make python_package, nur damit das klar ist (ich wiederhole ihn am Ende noch einmal). Also, ist es Zeit, zu bauen und zu starten?<\/p>\n<p><img decoding=\"async\" alt=\"Installation der or-tools mit SCIP und GLPK in einer virtuellen Umgebung Python 3.7 auf Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5d00d11acb95cf881605a43ec9b5f86f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Wir suchen nach dem Problem<\/h2>\n<p>\nNichts funktioniert in der Build-Phase von or-tools, er beschwert sich \u00fcber schlechte GLPK-Bibliotheken.<\/p>\n<p><img decoding=\"async\" alt=\"Installation der or-tools mit SCIP und GLPK in einer virtuellen Umgebung Python 3.7 auf Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5a16f5dc082a46ee5cbcafa637de006f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDer Build mit SCIP unter Verwendung der Dokumentationsparameter verl\u00e4uft erfolgreich, aber or-tools weigert sich trotzdem, beim Import zu arbeiten.<\/p>\n<p><img decoding=\"async\" alt=\"Installation der or-tools mit SCIP und GLPK in einer virtuellen Umgebung Python 3.7 auf Linux\" src=\"\/wp-content\/uploads\/2020\/02\/acd6917b68c320a9bee5e71875c1f035.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nIch habe selbst keine L\u00f6sungen f\u00fcr diese Probleme gefunden, also wandte ich mich auf GitHub an die Entwickler und fragte, warum die Installation gem\u00e4\u00df ihren Anweisungen Fehler in ihrem Code ausgibt.<\/p>\n<p><img decoding=\"async\" alt=\"Installation der or-tools mit SCIP und GLPK in einer virtuellen Umgebung Python 3.7 auf Linux\" src=\"\/wp-content\/uploads\/2020\/02\/997062c260ba5569bb755bbe757615bd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Hmm, danke f\u00fcr die Erkl\u00e4rungen<br \/>\n<\/i><br \/>\nW\u00e4hrend ich auf eine Antwort auf GitHub wartete, durchforstete ich das Internet in der Hoffnung, etwas zu finden, das mir helfen w\u00fcrde. Und wie es nicht anders zu erwarten war, fand ich etwas. Es war <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/linking-glpk-with-or-tools-on-unix.html\">Blogs<\/a><\/noindex> der Projektleiter, der dar\u00fcber schrieb, wie man GLPK mit or-tools verbindet. Und dieser Weg hat endlich funktioniert! Nun, wenn man alles ohne SCIP, aber mit GLPK baut, kann man damit sogar arbeiten. Fortschritt.<\/p>\n<p>Der Teamleiter von or-tools riet jedoch davon ab, GLPK zu verwenden, und sagte, dass die Ergebnisse nicht wirklich gut sind, und es w\u00e4re sch\u00f6n, SCIP zu besiegen und es zum Laufen zu bringen. Ein benachbarter <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/changing-way-we-link-with-scip.html\">Post<\/a><\/noindex> Blog regte mich dazu an, zu \u00fcberlegen, dass das Google-Paket mit bestimmten Versionen funktioniert. Lass uns anschauen <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes#support-for-scip-6.0.0\">die \u00c4nderungsprotokolle der Releases<\/a><\/noindex> und wir sehen dort einen klaren Hinweis auf die Version 6.0.0. Obwohl im Makefile die Version 6.0.2 angegeben ist, versuchen wir, eine \u00e4ltere Version zu installieren und voil\u00e0!<\/p>\n<p>Und jetzt noch einmal die funktionierende Reihenfolge der Schritte.<br \/>\n<noindex><a rel=\"nofollow\" name=\"guide\"><\/a><\/noindex><\/p>\n<h2>Reihenfolge der Installation<\/h2>\n<p><\/p>\n<ol>\n<li>Laden Sie das SCIP-Archiv herunter und stellen Sie sicher, dass <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes\">hier<\/a><\/noindex> die Unterst\u00fctzung f\u00fcr die Version, die Sie herunterladen, klar angegeben ist (in meinem Fall <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes#support-for-scip-6.0.0\">developers.google.com\/optimization\/support\/release_notes#support-for-scip-6.0.0<\/a><\/noindex>) und entpacken Sie es.<\/li>\n<li>Laden Sie GLPK herunter (zum Zeitpunkt des Beitrags war die neueste Version 4.65) und entpacken Sie es.<\/li>\n<li>Installieren Sie SCIP mit dem Befehl\n<pre><code class=\"bash\">make GMP=false READLINE=false TPI=tny ZIMPL=false scipoptlib install INSTALLDIR=\/scipoptsuite-6.0.0\n<\/code><\/pre>\n<\/li>\n<li>Installieren Sie GLPK mit dem Befehl:\n<pre><code class=\"bash\">.\/configure --prefix= --with-pic --enable-shared\nmake\nmake install\n<\/code><\/pre>\n<\/li>\n<li>Laden Sie OR-Tools von GitHub herunter\n<pre><code class=\"bash\">git clone https:\/\/github.com\/google\/or-tools<\/code><\/pre>\n<\/li>\n<li>Installieren Sie OR-Tools mit den Befehlen:\n<pre><code class=\"bash\">make third_party\nmake python_package\n<\/code><\/pre>\n<p>\nWenn der letzte Befehl nicht funktioniert, installieren Sie das Paket wheel mit diesem Befehl:<\/p>\n<pre><code class=\"bash\">pip install wheel<\/code><\/pre>\n<\/li>\n<li>Aktivieren Sie die virtuelle Umgebung, gehen Sie in den Ordner mit dem Python-Paket und installieren Sie es von dort.\n<p>Wenn Sie es nicht in einer virtuellen Umgebung, sondern global f\u00fcr das gesamte System installieren m\u00f6chten, verwenden Sie stattdessen:<\/p>\n<pre><code class=\"bash\">make python_package<\/code><\/pre>\n<p>\nf\u00fchren Sie den Befehl aus:<\/p>\n<pre><code class=\"bash\">make python\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Quelle: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/488346\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0420\u0435\u0448\u0438\u043b \u044f \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438. \u0412\u044b\u0431\u0440\u0430\u043b \u0433\u0443\u0433\u043b\u043e\u0432\u0441\u043a\u0438\u0439 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 or-tools, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0438\u0437 \u0441\u0435\u0431\u044f \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441 \u0434\u043b\u044f \u0440\u0430\u0437\u043d\u044b\u0445 \u0440\u0435\u0448\u0430\u0442\u0435\u043b\u0435\u0439 (\u0438\u043b\u0438 \u0440\u0435\u0448\u0430\u043b? solver\u043e\u0432?). \u041e\u043d \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u0442 \u0432 \u0441\u0435\u0431\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438, \u043d\u043e \u0441\u043e\u0437\u0434\u0430\u0442\u0435\u043b\u044f\u043c\u0438 \u0437\u0430\u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043f\u0430\u043a\u0435\u0442\u043e\u043c, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u043b\u0435 \u043a\u043e\u043c\u043c\u0435\u0440\u0447\u0435\u0441\u043a\u0438\u0445 Gurobi \u0438 CPLEX. \u041e\u0434\u043d\u0430\u043a\u043e \u043b\u044e\u0434\u0438 \u043c\u044b \u043d\u0435\u0431\u043e\u0433\u0430\u0442\u044b\u0435, [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":41871,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-41870","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0420\u0435\u0448\u0438\u043b \u044f \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/de\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"de_DE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 or-tools \u0441 SCIP \u0438 GLPK \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 Python 3.7 \u043d\u0430 Linux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0420\u0435\u0448\u0438\u043b \u044f \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/de\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-02-17T08:17:15+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-02-17T08:17:15+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Installation von or-tools mit SCIP und GLPK in einer Python 3.7 virtuellen Umgebung auf Linux | ProHoster","description":"Ich habe beschlossen, an dem Wettbewerb teilzunehmen und ben\u00f6tigte daf\u00fcr Pakete zur L\u00f6sung von Optimierungsaufgaben.","canonical_url":"https:\/\/prohoster.info\/de\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"de_DE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 or-tools \u0441 SCIP \u0438 GLPK \u0432 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0435 \u043e\u043a\u0440\u0443\u0436\u0435\u043d\u0438\u0435 Python 3.7 \u043d\u0430 Linux | ProHoster","og:description":"\u0420\u0435\u0448\u0438\u043b \u044f \u043f\u043e\u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u043e\u0440\u0435\u0432\u043d\u043e\u0432\u0430\u043d\u0438\u0438 \u0438 \u043f\u043e\u043d\u0430\u0434\u043e\u0431\u0438\u043b\u043e\u0441\u044c \u0434\u043b\u044f \u043d\u0435\u0433\u043e \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u043f\u0430\u043a\u0435\u0442\u044b \u0434\u043b\u044f \u0440\u0435\u0448\u0435\u043d\u0438\u044f \u0437\u0430\u0434\u0430\u0447 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0438.","og:url":"https:\/\/prohoster.info\/de\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-02-17T08:17:15+00:00","article:modified_time":"2020-02-17T08:17:15+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"41870","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:08:32","updated":"2022-09-28 10:29:00","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/41870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/comments?post=41870"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/posts\/41870\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media\/41871"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/media?parent=41870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/categories?post=41870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/de\/wp-json\/wp\/v2\/tags?post=41870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}