{"id":687,"date":"2020-08-14T08:31:11","date_gmt":"2020-08-14T08:31:11","guid":{"rendered":"http:\/\/lucylabs.gatech.edu\/ml4t\/summer2020\/ml4t-software-environment-2\/"},"modified":"2020-08-14T08:31:11","modified_gmt":"2020-08-14T08:31:11","slug":"ml4t-software-environment-2","status":"publish","type":"page","link":"https:\/\/lucylabs.gatech.edu\/ml4t\/summer2020\/ml4t-software-environment-2\/","title":{"rendered":"ML4T Software Environment"},"content":{"rendered":"\n[et_pb_section fb_built=&#8221;1&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.4.6&#8243; header_font=&#8221;|700||on|||||&#8221;]<h1 id=\"firstHeading\" class=\"firstHeading\" lang=\"en\" style=\"text-align: center;\"><span dir=\"auto\">ML4T Software Environment<\/span><\/h1>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.4.6&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<h2><span class=\"mw-headline\" id=\"Attention\">Attention<\/span><\/h2>\n<p><b>STARTING IN FALL 2019, THIS COURSE USES PYTHON 3. MAKE CAREFUL NOTE OF THIS AND DO NOT FALL BACK ON OLD WIKI PAGES FOR PROJECT TEMPLATES AND ENVIRONMENT CONFIGURATION INSTRUCTIONS.<\/b><\/p>\n<p>The information on this page is for those who are interested to have a Python development environment on their own machine. Keep in mind that even if you set up your own environment, your code still MUST run correctly on the GT servers, so it is very important that you ensure that you have access to them. Please see <a href=\"http:\/\/lucylabs.gatech.edu\/ml4t\/ml4t-software-setup\/\" target=\"_blank\" title=\"ML4T Software Setup\" rel=\"noopener noreferrer\">ML4T_Software_Setup<\/a> for information on how to use those servers, and how to check out the code scaffolding for the projects.<\/p>[\/et_pb_text][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.5&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.5&#8243;][et_pb_text _builder_version=&#8221;4.4.6&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<h2><span class=\"mw-headline\" id=\"Overview\">Overview<\/span><\/h2>\n<h3><span class=\"mw-headline\" id=\"Important_notes\">Important notes<\/span><\/h3>\n<ul>\n<li>We use a specific, static dataset for this course, which we will provide. If you download your own data from Yahoo (or elsewhere), you will get wrong answers on assignments.<\/li>\n<li>While these instructions should work for either Windows, macOS, or Linux, we <b>strongly recommend<\/b> developing on recent versions of Ubuntu LTS, as there may be significant differences on Windows. You can easily create an Ubuntu based virtual machine image to develop on using any freely available VM software (VirtualBox is probably the easiest and cheapest).<\/li>\n<li>Regardless of your OS and install method, you should still ensure that your code runs on the provided servers. If your code fails to run on the servers, &#8220;it works on my machine&#8221; is not a valid excuse, and <b>you will receive no credit<\/b>.<\/li>\n<\/ul>\n<p>The assignments in this class are in Python (version 3.6), and rely heavily on a few important libraries. These libraries are under active development, which unfortunately means there can be some compatibility issues between versions. This isn&#8217;t an issue if you use the provided servers, but if you want to work from your local machine it is very important to make sure you have exactly the same library versions. To that end, here is a list of each library and its version number, provided in the conda environment format:<\/p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;bmFtZTogbWw0dApkZXBlbmRlbmNpZXM6Ci0gcHl0aG9uPTMuNgotIGN5Y2xlcj0wLjEwLjAKLSBraXdpc29sdmVyPTEuMS4wCi0gbWF0cGxvdGxpYj0zLjAuMwotIG51bXB5PTEuMTYuMwotIHBhbmRhcz0wLjI0LjIKLSBweXBhcnNpbmc9Mi40LjAKLSBweXRob24tZGF0ZXV0aWw9Mi44LjAKLSBweXR6PTIwMTkuMQotIHNjaXB5PTEuMi4xCi0gc2VhYm9ybj0wLjkuMAotIHNpeD0xLjEyLjAKLSBqb2JsaWI9MC4xMy4yCi0gcHl0ZXN0PTUuMAotIGZ1dHVyZT0wLjE3LjEKLSBwaXAKLSBwaXA6CiAgLSBwcHJvZmlsZT09Mi4wLjIKICAtIGpzb25zPT0wLjguOA==&#8221; _builder_version=&#8221;4.4.6&#8243;]bmFtZTogbWw0dApkZXBlbmRlbmNpZXM6Ci0gcHl0aG9uPTMuNgotIGN5Y2xlcj0wLjEwLjAKLSBraXdpc29sdmVyPTEuMS4wCi0gbWF0cGxvdGxpYj0zLjAuMwotIG51bXB5PTEuMTYuMwotIHBhbmRhcz0wLjI0LjIKLSBweXBhcnNpbmc9Mi40LjAKLSBweXRob24tZGF0ZXV0aWw9Mi44LjAKLSBweXR6PTIwMTkuMQotIHNjaXB5PTEuMi4xCi0gc2VhYm9ybj0wLjkuMAotIHNpeD0xLjEyLjAKLSBqb2JsaWI9MC4xMy4yCi0gcHl0ZXN0PTUuMAotIGZ1dHVyZT0wLjE3LjEKLSBwaXAKLSBwaXA6CiAgLSBwcHJvZmlsZT09Mi4wLjIKICAtIGpzb25zPT0wLjguOA==[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.4.6&#8243;]If you are familiar with <code>conda<\/code>, you can use this to create an environment for this class which matches those version numbers. Here is an outline:\n<ol>\n\t<li>Install miniconda\/anaconda (if it is not already installed). Save the above yml fragment as environment.yml.<\/li>\n\t<li>Create an environment for this class: <\/li>\n<\/ol>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;Y29uZGEgZW52IGNyZWF0ZSAtLWZpbGUgZW52aXJvbm1lbnQueW1s&#8221; _builder_version=&#8221;4.4.6&#8243;]Y29uZGEgZW52IGNyZWF0ZSAtLWZpbGUgZW52aXJvbm1lbnQueW1s[\/et_pb_dmb_code_snippet][et_pb_text _builder_version=&#8221;4.4.6&#8243;]<p>3. Activate the new environment:<\/p>[\/et_pb_text][et_pb_dmb_code_snippet code=&#8221;Y29uZGEgYWN0aXZhdGUgbWw0dA==&#8221; _builder_version=&#8221;4.4.6&#8243;]Y29uZGEgYWN0aXZhdGUgbWw0dA==[\/et_pb_dmb_code_snippet][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.6&#8243;][et_pb_column _builder_version=&#8221;4.4.6&#8243; type=&#8221;4_4&#8243;][et_pb_text _builder_version=&#8221;4.4.6&#8243; hover_enabled=&#8221;0&#8243;]<h2>Matplotlib on Mac<\/h2>\n<p>If you are using a Mac and when attempting to plot charts you get an\u00a0<span>exception with a stack trace, including a mention of libtk and tkinter, try the following to change the backend<\/span><\/p>\n[\/et_pb_text][et_pb_dmb_code_snippet _builder_version=&#8221;4.4.6&#8243; code=&#8221;JCBta2RpciAtcCB+Ly5tYXRwbG90bGliCiQgZWNobyDigJxiYWNrZW5kOiBUa0FnZ+KAnSA+IH4vLm1hdHBsb3RsaWIvbWF0cGxvdGxpYnJj&#8221; hover_enabled=&#8221;0&#8243;]JCBta2RpciAtcCB+Ly5tYXRwbG90bGliCiQgZWNobyDigJxiYWNrZW5kOiBUa0FnZ+KAnSA+IH4vLm1hdHBsb3RsaWIvbWF0cGxvdGxpYnJj[\/et_pb_dmb_code_snippet][\/et_pb_column][\/et_pb_row][et_pb_row _builder_version=&#8221;4.4.6&#8243;][et_pb_column type=&#8221;4_4&#8243; _builder_version=&#8221;4.4.6&#8243;][et_pb_text _builder_version=&#8221;4.4.6&#8243; header_2_font=&#8221;|||on|on||||&#8221;]<h2><span class=\"mw-headline\" id=\"Optional_software\">Optional software<\/span><\/h2>\n<ul>\n\t<li>IPython [<a rel=\"nofollow noopener noreferrer\" class=\"external text\" target=\"_blank\" href=\"http:\/\/docs.python-guide.org\/en\/latest\/scenarios\/scientific\/\">link<\/a>]<\/li>\n\t<li>A Python IDE, such as <a rel=\"nofollow noopener noreferrer\" class=\"external text\" target=\"_blank\" href=\"https:\/\/www.jetbrains.com\/pycharm\/\">PyCharm<\/a> or <a rel=\"nofollow noopener noreferrer\" target=\"_blank\" class=\"external text\" href=\"https:\/\/www.spyder-ide.org\">Spyder<\/a><\/li>\n\t<li><a rel=\"nofollow noopener noreferrer\" class=\"external text\" target=\"_blank\" href=\"https:\/\/www.virtualbox.org\/\">VirtualBox<\/a><\/li>\n<\/ul>[\/et_pb_text][\/et_pb_column][\/et_pb_row][\/et_pb_section]\n","protected":false},"excerpt":{"rendered":"<p>ML4T Software EnvironmentAttention STARTING IN FALL 2019, THIS COURSE USES PYTHON 3. MAKE CAREFUL NOTE OF THIS AND DO NOT FALL BACK ON OLD WIKI PAGES FOR PROJECT TEMPLATES AND ENVIRONMENT CONFIGURATION INSTRUCTIONS. The information on this page is for those who are interested to have a Python development environment on their own machine. Keep [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":272,"menu_order":18,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"on","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"class_list":["post-687","page","type-page","status-publish","hentry"],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages\/687","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/comments?post=687"}],"version-history":[{"count":0,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages\/687\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/pages\/272"}],"wp:attachment":[{"href":"https:\/\/lucylabs.gatech.edu\/ml4t\/wp-json\/wp\/v2\/media?parent=687"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}