{"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\/sv\/blog\/ustanovka-or-tools-s-scip-i-glpk-v-virtualnoe-okruzhenie-python-3-7-na-linux","title":{"rendered":"Installation av or-tools med SCIP och GLPK i en virtuell milj\u00f6 f\u00f6r Python 3.7 p\u00e5 Linux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Jag best\u00e4mde mig f\u00f6r att delta i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.kaggle.com\/c\/santa-workshop-tour-2019\">t\u00e4vlingen<\/a><\/noindex> och beh\u00f6vde anv\u00e4nda paket f\u00f6r att l\u00f6sa optimeringsproblem. Jag valde Googles verktyg or-tools, som fungerar som ett gr\u00e4nssnitt f\u00f6r olika l\u00f6sg\u00f6rare (eller solver?). Det inneh\u00e5ller flera optimeringsverktyg, men skaparna h\u00e4vdar att det st\u00f6der flera externa paket, inklusive de kommersiella Gurobi och CPLEX. Men vi \u00e4r inga rika m\u00e4nniskor, s\u00e5 vi anv\u00e4nder de gratis SCIP och GLPK (fr\u00e5n en inhemsk utvecklare, f\u00f6r \u00f6vrigt). Till min f\u00f6rv\u00e5ning hittade jag ingen instruktion om hur man f\u00e5r allt detta att fungera i en virtuell milj\u00f6 f\u00f6r Python, varken p\u00e5 v\u00e5ra eller engelskspr\u00e5kiga internetplatser, s\u00e5 jag fick l\u00e4gga ner lite arbete. F\u00f6r dem som har br\u00e5ttom, l\u00e4s g\u00e4rna direkt <noindex><a rel=\"nofollow\" href=\"#guide\">). Ett typiskt exempel p\u00e5 anv\u00e4ndning:<\/a><\/noindex>, medan jag f\u00f6r \u00f6vrigt erbjuder att bekanta mig med min tveksamma kvalitet av grafomani, som beskriver \u00e4ventyren kring installationen av Googles mjukvara. Ja, jag gl\u00f6mde n\u00e4mna att allt installerades i Manjaro Linux.<\/p>\n<p><img decoding=\"async\" alt=\"Installation av or-tools med SCIP och GLPK i en virtuell milj\u00f6 f\u00f6r Python 3.7 p\u00e5 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>F\u00f6rsta stegen<\/h2>\n<p>\nAlla tre paketen finns i Python-repositoriet, s\u00e5 vi installerar dem via pip.<\/p>\n<p>Var och en av dem har sitt eget gr\u00e4nssnitt, och or-tools valdes just f\u00f6r att kunna pr\u00f6va olika paket utan att beh\u00f6va skriva om programmet i grunden, s\u00e5 m\u00e5let \u00e4r att or-tools ska koppla dessa l\u00f6sg\u00f6rare och l\u00e5ta dem k\u00f6ras genom sig. Och vad tror ni? Or-tools installerat via pip ser inte de l\u00f6sg\u00f6rare som installerats via pip, och de ser inte or-tools (vem skulle ha kunnat tro det?). S\u00e5, det verkar som vi m\u00e5ste kolla vad som st\u00e5r i <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux\">dokumentationen<\/a><\/noindex>.<br \/>\nDokumenten s\u00e4ger att man m\u00e5ste kompilera fr\u00e5n k\u00e4llkod f\u00f6r att or-tools ska koppla externa paket. Vi f\u00f6rs\u00f6ker kompilera, och det g\u00e5r inte, eftersom de l\u00f6sg\u00f6rare som installerats via pip inte syns. <br \/>\nD\u00e4rmed fungerar de enklaste s\u00e4tten att installera alla paket via pip inte, eftersom or-tools inte kopplar l\u00f6sg\u00f6rarna, l\u00f6sg\u00f6rarna installerar inte biblioteken s\u00e5 som or-tools vill ha dem, allt ger dig felmeddelanden, kallar dig dum och skrattar p\u00e5 olika s\u00e4tt. <\/p>\n<p>G\u00e5 sedan till <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/install\/python\/source_linux#install-the-scip-optimization-suite\">dokumenten<\/a><\/noindex> d\u00e4r det st\u00e5r att man m\u00e5ste kompilera l\u00f6sg\u00f6rarna fr\u00e5n k\u00e4llkod, och sedan kompilera sj\u00e4lva or-tools fr\u00e5n k\u00e4llkod. Sagt och gjort! Jag installerade SCIP, installerade GLPK, men det uppstod en fr\u00e5ga som inte beskrivs i dokumentationen: hur installerar man or-tools i en virtuell milj\u00f6. <\/p>\n<p>Det enda kommandot som anges i dokumentationen, make python, installerar paketet globalt i systemet (f\u00f6rv\u00e5nande, eller hur?).<\/p>\n<p>Men jag hade tur: under en ingenj\u00f6rsunders\u00f6kning med metoden av o\u00e4ndliga apor tryckte jag av misstag in kommandot make help, och jag fick en lista \u00f6ver alla alternativ f\u00f6r att bygga or-tools, bland vilka det fanns en m\u00f6jlighet att bygga wheel-paketet. Det kommandot \u00e4r make python_package, f\u00f6r dem som undrar (jag upprepar det en g\u00e5ng till i slutet). S\u00e5, \u00e4r det dags att bygga och k\u00f6ra?<\/p>\n<p><img decoding=\"async\" alt=\"Installation av or-tools med SCIP och GLPK i en virtuell milj\u00f6 f\u00f6r Python 3.7 p\u00e5 Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5d00d11acb95cf881605a43ec9b5f86f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h2>L\u00e5t oss leta efter problemet<\/h2>\n<p>\nIngenting fungerar under byggprocessen av or-tools, det klagar p\u00e5 d\u00e5liga GLPK-bibliotek.<\/p>\n<p><img decoding=\"async\" alt=\"Installation av or-tools med SCIP och GLPK i en virtuell milj\u00f6 f\u00f6r Python 3.7 p\u00e5 Linux\" src=\"\/wp-content\/uploads\/2020\/02\/5a16f5dc082a46ee5cbcafa637de006f.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nByggandet med SCIP med parametrarna fr\u00e5n dokumentationen g\u00e5r bra, men or-tools v\u00e4grar \u00e4nd\u00e5 att fungera vid import-stadiet.<\/p>\n<p><img decoding=\"async\" alt=\"Installation av or-tools med SCIP och GLPK i en virtuell milj\u00f6 f\u00f6r Python 3.7 p\u00e5 Linux\" src=\"\/wp-content\/uploads\/2020\/02\/acd6917b68c320a9bee5e71875c1f035.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nJag hittade inga l\u00f6sningar p\u00e5 dessa problem sj\u00e4lv, s\u00e5 jag gick till GitHub och fr\u00e5gade utvecklarna varf\u00f6r installationen enligt deras instruktioner ger fel n\u00e5gonstans inne i deras kod.<\/p>\n<p><img decoding=\"async\" alt=\"Installation av or-tools med SCIP och GLPK i en virtuell milj\u00f6 f\u00f6r Python 3.7 p\u00e5 Linux\" src=\"\/wp-content\/uploads\/2020\/02\/997062c260ba5569bb755bbe757615bd.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<i>Hmm, tack f\u00f6r f\u00f6rklaringen<br \/>\n<\/i><br \/>\nMedan jag v\u00e4ntade p\u00e5 svar p\u00e5 GitHub, surfade jag p\u00e5 internet i hopp om att hitta n\u00e5got som skulle hj\u00e4lpa mig. Och som det visade sig, hittade jag det. Det var <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/linking-glpk-with-or-tools-on-unix.html\">bloggen<\/a><\/noindex> teamledaren f\u00f6r projektet, d\u00e4r han skrev om hur man kopplar GLPK till or-tools. Och denna metod fungerade \u00e4ntligen! Nu, om man bygger allt utan SCIP men med GLPK, s\u00e5 kan man faktiskt arbeta med detta. Redan framsteg.<\/p>\n<p>Men teamledaren f\u00f6r or-tools avr\u00e5dde fr\u00e5n att anv\u00e4nda GLPK, och sa att resultaten \u00e4r ganska d\u00e5liga, och man vill \u00e4nd\u00e5 besegra SCIP och f\u00e5 det att fungera. En n\u00e4rst\u00e5ende <noindex><a rel=\"nofollow\" href=\"http:\/\/or-tools.blogspot.com\/2017\/03\/changing-way-we-link-with-scip.html\">inl\u00e4gg<\/a><\/noindex> blogg gav mig en tankest\u00e4llare om att Googles paket fungerar med specifika versioner. L\u00e5t oss kolla <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes#support-for-scip-6.0.0\">\u00e4ndringslistan f\u00f6r releaser<\/a><\/noindex> och vi ser d\u00e4r ett tydligt versionsangivande 6.0.0. Trots att version 6.0.2 anges i makefilen, testar vi att installera en \u00e4ldre version och voil\u00e0!<\/p>\n<p>Och nu, en g\u00e5ng till, en fungerande sekvens av \u00e5tg\u00e4rder.<br \/>\n<noindex><a rel=\"nofollow\" name=\"guide\"><\/a><\/noindex><\/p>\n<h2>Installationssekvens<\/h2>\n<p><\/p>\n<ol>\n<li>Ladda ner SCIP-arkivet, se till att <noindex><a rel=\"nofollow\" href=\"https:\/\/developers.google.com\/optimization\/support\/release_notes\">). Ett typiskt exempel p\u00e5 anv\u00e4ndning:<\/a><\/noindex> den version du laddar ner \u00e4r tydligt angiven som st\u00f6dd (i mitt 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>) och packa upp det.<\/li>\n<li>Ladda ner GLPK (vid tidpunkten f\u00f6r inl\u00e4gget \u00e4r den senaste versionen 4.65) och packa upp det.<\/li>\n<li>Installera SCIP med kommandot\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>Installera GLPK med kommandot:\n<pre><code class=\"bash\">.\/configure --prefix= --with-pic --enable-shared\nmake\nmake install\n<\/code><\/pre>\n<\/li>\n<li>Ladda ner OR-Tools fr\u00e5n GitHub\n<pre><code class=\"bash\">git clone https:\/\/github.com\/google\/or-tools<\/code><\/pre>\n<\/li>\n<li>Installera OR-Tools med kommandona:\n<pre><code class=\"bash\">make third_party\nmake python_package\n<\/code><\/pre>\n<p>\nOm den senaste kommandot inte fungerar, installera wheel med kommandot:<\/p>\n<pre><code class=\"bash\">pip install wheel<\/code><\/pre>\n<\/li>\n<li>Aktivera den virtuella milj\u00f6n, g\u00e5 till mappen med Python-paketet och installera det d\u00e4rifr\u00e5n.\n<p>Om du vill installera inte i en virtuell milj\u00f6, utan globalt f\u00f6r hela systemet ist\u00e4llet f\u00f6r:<\/p>\n<pre><code class=\"bash\">make python_package<\/code><\/pre>\n<p>\nutf\u00f6r kommandot:<\/p>\n<pre><code class=\"bash\">make python\n<\/code><\/pre>\n<\/li>\n<\/ol>\n<p>K\u00e4lla: <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.5 - 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\/sv\/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.5\" \/>\n\t\t<meta property=\"og:locale\" content=\"sv_SE\" \/>\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\/sv\/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\udd47Installera or-tools med SCIP och GLPK i en virtuell milj\u00f6 Python 3.7 p\u00e5 Linux | ProHoster","description":"Jag best\u00e4mde mig f\u00f6r att delta i t\u00e4vlingen och beh\u00f6vde anv\u00e4nda paket f\u00f6r att l\u00f6sa optimeringsproblem.","canonical_url":"https:\/\/prohoster.info\/sv\/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":"sv_SE","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\/sv\/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\/sv\/wp-json\/wp\/v2\/posts\/41870","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/comments?post=41870"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/posts\/41870\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media\/41871"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/media?parent=41870"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/categories?post=41870"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sv\/wp-json\/wp\/v2\/tags?post=41870"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}