{"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\/it\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux","title":{"rendered":"Installazione di or-tools con SCIP e GLPK in un ambiente virtuale Python 3.7 su Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ho deciso di partecipare a <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kaggle.com\/c\/santa-workshop-tour-2019\">una competizione<\/a><\/noindex> e per questo ho dovuto utilizzare pacchetti per risolvere problemi di ottimizzazione. Ho scelto lo strumento di Google or-tools, che funge da interfaccia per diversi risolutori. Contiene diversi strumenti di ottimizzazione, ma gli sviluppatori affermano di supportare anche diversi pacchetti esterni, inclusi i commerciali Gurobi e CPLEX. Tuttavia, noi non siamo ricchi e utilizzeremo i gratuiti SCIP e GLPK (sviluppati da un autore locale, tra l'altro). Con mia sorpresa, non ho trovato istruzioni su come far funzionare tutto questo splendore in un ambiente virtuale Python, sia nei nostri spazi che nel segmento anglofobo di Internet, e ho dovuto lavorarci un po'. Per chi ha fretta, leggete subito <noindex><a rel=\"nofollow\" href=\"#guide\">qui<\/a><\/noindex>, agli altri propongo di conoscere la mia poco raffinata grafomania che descrive le peripezie nell'installazione del software di Google. S\u00ec, ho dimenticato di dire subito che tutto \u00e8 stato installato su Manjaro Linux.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di or-tools con SCIP e GLPK in un ambiente virtuale Python 3.7 su 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>Primi passi<\/h2>\n<p>\nTutti e tre i pacchetti esistono nel repository di Python, quindi li installiamo tramite pip.<\/p>\n<p>Ognuno di essi ha la propria interfaccia, e or-tools \u00e8 stato scelto proprio per provare diversi pacchetti senza dover riscrivere sostanzialmente il programma. Quindi il compito \u00e8 fare in modo che or-tools integri questi risolutori e li faccia eseguire tramite se stesso. E cosa pensate? L'or-tools installato tramite pip non vede i risolutori installati tramite pip, e loro non vedono lui (chi l\u2019avrebbe mai detto). Quindi bisogna davvero dare un'occhiata a ci\u00f2 che scrivono nella <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux\">documentazione<\/a><\/noindex>.<br \/>\nNella documentazione scrivono che \u00e8 necessario compilare dai sorgenti affinch\u00e9 or-tools possa integrare i pacchetti esterni. Proviamo a compilare, e non riesce, perch\u00e9 i risolutori installati tramite pip non sono visibili. <br \/>\nPertanto, i metodi pi\u00f9 semplici per installare tutti i pacchetti tramite pip non funzionano, perch\u00e9 or-tools non integra i risolutori, e i risolutori non installano le librerie come or-tools desidera, generando errori e deridendoti. <\/p>\n<p>Successivamente, nella <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux#install-the-scip-optimization-suite\">documentazione<\/a><\/noindex> dicono che \u00e8 necessario compilare i risolutori dai sorgenti, e poi compilare or-tools dai sorgenti. Detto-fatto! Ho installato SCIP, ho installato GLPK, ma si \u00e8 presentata una domanda non descritta nella documentazione: come installare or-tools in un ambiente virtuale. <\/p>\n<p>L'unico comando scritto nella documentazione, make python, installa il pacchetto globalmente nel sistema (sorprendente, vero?).<\/p>\n<p>Tuttavia, sono stato fortunato: durante la ricerca ingegneristica con il metodo delle scimmie infinite, ho accidentalmente digitato il comando make help, e mi ha restituito un elenco di tutte le opzioni di compilazione di or-tools, tra cui la possibilit\u00e0 di compilare il pacchetto wheel. Questo \u00e8 il comando make python_package, nel caso (lo ripeter\u00f2 alla fine). Quindi, \u00e8 tempo di compilare e lanciare?<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di or-tools con SCIP e GLPK in un ambiente virtuale Python 3.7 su Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5d00d11acb95cf881605a43ec9b5f86f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Cerchiamo il problema<\/h2>\n<p>\nNiente funziona durante la fase di compilazione di or-tools, d\u00e0 errore su librerie GLPK difettose.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di or-tools con SCIP e GLPK in un ambiente virtuale Python 3.7 su Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5a16f5dc082a46ee5cbcafa637de006f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nLa compilazione con SCIP con i parametri dalla documentazione va a buon fine, ma or-tools continua a rifiutarsi di funzionare al momento dell'importazione.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di or-tools con SCIP e GLPK in un ambiente virtuale Python 3.7 su Linux\" src=\"\/wp-content\/uploads\/2020\/02\/acd6917b68c320a9bee5e71875c1f035.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nNon ho trovato soluzioni a questi problemi, quindi sono andato su GitHub per chiedere agli sviluppatori perch\u00e9 l'installazione seguendo le loro istruzioni restituisce errori da qualche parte nel loro codice.<\/p>\n<p><img decoding=\"async\" alt=\"Installazione di or-tools con SCIP e GLPK in un ambiente virtuale Python 3.7 su Linux\" src=\"\/wp-content\/uploads\/2020\/02\/997062c260ba5569bb755bbe757615bd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Hmm, grazie per le spiegazioni<br \/>\n<\/i><br \/>\nMentre aspettavo una risposta su GitHub, ho navigato su internet, sperando di trovare qualcosa che mi aiutasse. E incredibilmente, ho trovato. Era <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/linking-glpk-with-or-tools-on-unix.html\">blog<\/a><\/noindex> il team leader del progetto, dove scriveva di come collegare GLPK a or-tools. E questo metodo ha finalmente funzionato! Ora, se compiliamo tutto senza SCIP, ma con GLPK, possiamo lavorarci. Gi\u00e0 un progresso.<\/p>\n<p>Tuttavia, il team leader di or-tools non consigliava di usare GLPK, dicendo che i risultati mostrati non sono molto buoni, e voglio comunque vincere SCIP e farlo funzionare. Un vicino <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/changing-way-we-link-with-scip.html\">post<\/a><\/noindex> nel blog mi ha suggerito che il pacchetto di Google funziona con versioni specifiche. Diamo un'occhiata <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes#support-for-scip-6.0.0\">alla lista delle modifiche delle versioni<\/a><\/noindex> e vediamo una chiara indicazione della versione 6.0.0. Nonostante nel makefile fosse indicata la versione 6.0.2, proviamo a installare una versione pi\u00f9 vecchia e voil\u00e0!<\/p>\n<p>E ora, ancora una volta, la sequenza di azioni operativa.<br \/>\n<noindex><a rel=\"nofollow\" name=\"guide\"><\/a><\/noindex><\/p>\n<h2>Sequenza di installazione<\/h2>\n<p><\/p>\n<ol>\n<li>Scarica l'archivio SCIP, assicurandoti che <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes\">qui<\/a><\/noindex> sia chiaramente indicata la compatibilit\u00e0 con la versione che stai scaricando (nel mio caso <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>) e decomprimi.<\/li>\n<li>Scarica GLPK (al momento della scrittura, l'ultima versione \u00e8 4.65) e decompressa.<\/li>\n<li>Installa SCIP con il comando\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>Installa GLPK con il comando:\n<pre><code class=\"bash\">.\/configure --prefix= --with-pic --enable-shared\nmake\nmake install\n<\/code><\/pre>\n<\/li>\n<li>Scarica OR-Tools da GitHub\n<pre><code class=\"bash\">git clone https:\/\/github.com\/google\/or-tools<\/code><\/pre>\n<\/li>\n<li>Installa OR-Tools con i comandi:\n<pre><code class=\"bash\">make third_party\nmake python_package\n<\/code><\/pre>\n<p>\nSe l'ultimo comando non funziona, installa wheel con il comando:<\/p>\n<pre><code class=\"bash\">pip install wheel<\/code><\/pre>\n<\/li>\n<li>Attiva l'ambiente virtuale, vai nella cartella del pacchetto Python e installalo da l\u00ec.\n<p>Se devi installare non in un ambiente virtuale, ma globalmente per l'intero sistema invece di:<\/p>\n<pre><code class=\"bash\">make python_package<\/code><\/pre>\n<p>\neseguire il comando:<\/p>\n<pre><code class=\"bash\">make python\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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\udd47Installazione di or-tools con SCIP e GLPK in un ambiente virtuale Python 3.7 su Linux | ProHoster","description":"Ho deciso di partecipare a una competizione e avevo bisogno di utilizzare pacchetti per risolvere problemi di ottimizzazione.","canonical_url":"https:\/\/prohoster.info\/it\/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":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/41870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=41870"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/41870\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/41871"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=41870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=41870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=41870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}