{"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\/pt\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux","title":{"rendered":"Instala\u00e7\u00e3o do or-tools com SCIP e GLPK em um ambiente virtual Python 3.7 no Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Decidi participar de <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kaggle.com\/c\/santa-workshop-tour-2019\">uma competi\u00e7\u00e3o<\/a><\/noindex> e precisava usar pacotes para resolver problemas de otimiza\u00e7\u00e3o. Escolhi a ferramenta or-tools do Google, que serve como uma interface para diferentes solucionadores. Ela cont\u00e9m v\u00e1rias ferramentas de otimiza\u00e7\u00e3o, mas os criadores afirmam dar suporte a diversos pacotes externos, incluindo os comerciais Gurobi e CPLEX. No entanto, somos pessoas com or\u00e7amento limitado, e usaremos os gratuitos SCIP e GLPK (de um desenvolvedor nacional, ali\u00e1s). Para minha surpresa, n\u00e3o encontrei nenhuma instru\u00e7\u00e3o sobre como fazer toda essa maravilha funcionar em um ambiente virtual Python, tanto nos conte\u00fados em nosso idioma quanto nos de l\u00edngua inglesa, e tive que me esfor\u00e7ar um pouco. Para aqueles que est\u00e3o com pressa, leiam diretamente <noindex><a rel=\"nofollow\" href=\"#guide\">aqui<\/a><\/noindex>, aos demais, sugiro conhecer a minha grafomania de qualidade duvidosa, que descreve as perip\u00e9cias da instala\u00e7\u00e3o do software do Google. Ah, e eu esqueci de mencionar que tudo foi instalado no Manjaro Linux.<\/p>\n<p><img decoding=\"async\" alt=\"Instala\u00e7\u00e3o do or-tools com SCIP e GLPK em um ambiente virtual Python 3.7 no 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>Primeiros passos<\/h2>\n<p>\nTodos os tr\u00eas pacotes est\u00e3o dispon\u00edveis no reposit\u00f3rio do Python, ent\u00e3o vamos instal\u00e1-los via pip.<\/p>\n<p>Cada um deles tem sua pr\u00f3pria interface, e o or-tools foi escolhido justamente para permitir testes com diferentes pacotes, sem a necessidade de reescrever muito o programa. Portanto, o objetivo \u00e9 que o or-tools conecte esses solucionadores e permita sua execu\u00e7\u00e3o atrav\u00e9s dele. E o que voc\u00eas acham? O or-tools instalado via pip n\u00e3o reconhece os solucionadores instalados tamb\u00e9m via pip, e eles n\u00e3o o reconhecem (quem diria). Ent\u00e3o, precisamos dar uma olhada no que dizem as <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux\">documenta\u00e7\u00e3o<\/a><\/noindex>.<br \/>\ndocumenta\u00e7\u00f5es, que comentam que \u00e9 necess\u00e1rio compilar a partir do c\u00f3digo-fonte para que o or-tools reconhe\u00e7a pacotes externos. Tentamos compilar, mas n\u00e3o d\u00e1 certo, porque os solucionadores instalados via pip n\u00e3o s\u00e3o vis\u00edveis. <br \/>\nConsequentemente, as maneiras mais simples de instalar todos os pacotes via pip n\u00e3o funcionam, pois o or-tools n\u00e3o puxa os solucionadores, os solucionadores n\u00e3o instalam as bibliotecas como o or-tools deseja, todos lan\u00e7am erros, chamam voc\u00ea de burro e riem de voc\u00ea. <\/p>\n<p>Em seguida, nas <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux#install-the-scip-optimization-suite\">documenta\u00e7\u00f5es<\/a><\/noindex> dizem que \u00e9 necess\u00e1rio compilar os solucionadores a partir do c\u00f3digo-fonte e, em seguida, compilar o pr\u00f3prio or-tools a partir do c\u00f3digo-fonte. Fui e fiz! Instalei o SCIP, instalei o GLPK, mas surgiu uma d\u00favida n\u00e3o descrita na documenta\u00e7\u00e3o: como instalar o or-tools em um ambiente virtual. <\/p>\n<p>O \u00fanico comando documentado make python instala o pacote globalmente no sistema (surpreendente, n\u00e3o \u00e9?).<\/p>\n<p>No entanto, eu tive sorte: durante uma busca de engenharia pelo m\u00e9todo dos macacos infinitos, eu acidentalmente digitei o comando make help, e recebi uma lista de todas as op\u00e7\u00f5es de compila\u00e7\u00e3o do or-tools, entre as quais estava a op\u00e7\u00e3o de compilar o pacote wheel. Esse \u00e9 o comando make python_package, s\u00f3 para lembrar (eu vou repeti-lo no final). Ent\u00e3o, \u00e9 hora de compilar e rodar?<\/p>\n<p><img decoding=\"async\" alt=\"Instala\u00e7\u00e3o do or-tools com SCIP e GLPK em um ambiente virtual Python 3.7 no Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5d00d11acb95cf881605a43ec9b5f86f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>Procurando o problema<\/h2>\n<p>\nNada funciona na etapa de compila\u00e7\u00e3o do or-tools, ele reclama sobre bibliotecas GLPK ruins.<\/p>\n<p><img decoding=\"async\" alt=\"Instala\u00e7\u00e3o do or-tools com SCIP e GLPK em um ambiente virtual Python 3.7 no Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5a16f5dc082a46ee5cbcafa637de006f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nA compila\u00e7\u00e3o com SCIP usando os par\u00e2metros da documenta\u00e7\u00e3o \u00e9 bem-sucedida, mas o or-tools ainda se recusa a funcionar no momento da importa\u00e7\u00e3o.<\/p>\n<p><img decoding=\"async\" alt=\"Instala\u00e7\u00e3o do or-tools com SCIP e GLPK em um ambiente virtual Python 3.7 no Linux\" src=\"\/wp-content\/uploads\/2020\/02\/acd6917b68c320a9bee5e71875c1f035.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nN\u00e3o encontrei solu\u00e7\u00f5es para esses problemas por conta pr\u00f3pria, ent\u00e3o fui ao GitHub perguntar aos desenvolvedores por que a instala\u00e7\u00e3o seguindo as instru\u00e7\u00f5es deles gera erros em algum lugar do c\u00f3digo deles.<\/p>\n<p><img decoding=\"async\" alt=\"Instala\u00e7\u00e3o do or-tools com SCIP e GLPK em um ambiente virtual Python 3.7 no Linux\" src=\"\/wp-content\/uploads\/2020\/02\/997062c260ba5569bb755bbe757615bd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Hmm, obrigado pelos esclarecimentos<br \/>\n<\/i><br \/>\nEnquanto esperava a resposta no GitHub, fiquei pesquisando na internet, na esperan\u00e7a de encontrar algo que me ajudasse. E, para minha surpresa, encontrei. Era <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/linking-glpk-with-or-tools-on-unix.html\">blog<\/a><\/noindex> o l\u00edder do projeto, onde ele escreveu sobre como conectar o GLPK ao or-tools. E esse m\u00e9todo finalmente funcionou! Agora, se eu compilar tudo sem SCIP, mas com GLPK, \u00e9 poss\u00edvel trabalhar com isso. J\u00e1 \u00e9 um progresso.<\/p>\n<p>No entanto, o l\u00edder da equipe do or-tools n\u00e3o recomendou usar o GLPK, dizendo que os resultados n\u00e3o s\u00e3o bons, e ainda quero vencer o SCIP e faz\u00ea-lo funcionar. O blog vizinho <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/changing-way-we-link-with-scip.html\">post<\/a><\/noindex> me fez pensar que o pacote do Google funciona com vers\u00f5es espec\u00edficas. Vamos olhar <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes#support-for-scip-6.0.0\">a lista de altera\u00e7\u00f5es das vers\u00f5es<\/a><\/noindex> e vemos uma indica\u00e7\u00e3o clara da vers\u00e3o 6.0.0. Apesar de que no makefile est\u00e1 indicada a vers\u00e3o 6.0.2, tentamos instalar uma vers\u00e3o mais antiga e voila!<\/p>\n<p>E agora, mais uma vez a sequ\u00eancia de a\u00e7\u00f5es que funciona.<br \/>\n<noindex><a rel=\"nofollow\" name=\"guide\"><\/a><\/noindex><\/p>\n<h2>Sequ\u00eancia de instala\u00e7\u00e3o<\/h2>\n<p><\/p>\n<ol>\n<li>Baixe o arquivo do SCIP, certificando-se de que <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes\">aqui<\/a><\/noindex> o suporte para a vers\u00e3o que voc\u00ea est\u00e1 baixando est\u00e1 claramente indicado (no meu 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 descompacte-o.<\/li>\n<li>Baixe o GLPK (na \u00e9poca da postagem a vers\u00e3o mais recente era 4.65) e descompacte.<\/li>\n<li>Instale o SCIP com o 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>Instale o GLPK com o comando:\n<pre><code class=\"bash\">. \/configure --prefix= --with-pic --enable-shared\nmake\nmake install\n<\/code><\/pre>\n<\/li>\n<li>Baixe o OR-Tools do GitHub\n<pre><code class=\"bash\">git clone https:\/\/github.com\/google\/or-tools<\/code><\/pre>\n<\/li>\n<li>Instale o OR-Tools com os comandos:\n<pre><code class=\"bash\">make third_party\nmake python_package\n<\/code><\/pre>\n<p>\nSe a \u00faltima comando n\u00e3o funcionar, instale o wheel com o comando:<\/p>\n<pre><code class=\"bash\">pip install wheel<\/code><\/pre>\n<\/li>\n<li>Ative o ambiente virtual, v\u00e1 para a pasta do pacote Python e instale-o a partir de l\u00e1.\n<p>Se precisar instalar n\u00e3o em um ambiente virtual, mas globalmente para todo o sistema, em vez de:<\/p>\n<pre><code class=\"bash\">make python_package<\/code><\/pre>\n<p>\nexecute o 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.3 - 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\/pt\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"pt_PT\" \/>\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\/pt\/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\udd47Instala\u00e7\u00e3o do or-tools com SCIP e GLPK em um ambiente virtual Python 3.7 no Linux | ProHoster","description":"Decidi participar da competi\u00e7\u00e3o e precisei usar pacotes para resolver problemas de otimiza\u00e7\u00e3o.","canonical_url":"https:\/\/prohoster.info\/pt\/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":"pt_PT","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\/pt\/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\/pt\/wp-json\/wp\/v2\/posts\/41870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/comments?post=41870"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/posts\/41870\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media\/41871"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/media?parent=41870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/categories?post=41870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pt\/wp-json\/wp\/v2\/tags?post=41870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}