{"id":3465,"date":"2024-05-03T09:27:27","date_gmt":"2024-05-03T16:27:27","guid":{"rendered":"https:\/\/in.nau.edu\/arc\/?page_id=3465"},"modified":"2024-08-14T10:04:14","modified_gmt":"2024-08-14T17:04:14","slug":"mambaforge-package-management","status":"publish","type":"page","link":"https:\/\/in.nau.edu\/arc\/mambaforge-package-management\/","title":{"rendered":"Mambaforge &#8211; Package Management"},"content":{"rendered":"<!-- shortcode-right-column -->\n<div class=\"shortcode-right-column\" >\n    <div class=\"shortcode-right-column__container\"><\/p>\n<p><!-- shortcode-contact -->\n<div class=\"shortcode-contact\">\n    <div class=\"contact-header\">\n        <h3>Contact Advanced Research Computing<\/h3>\n    <\/div>\n    <div class=\"contact-body\">\n                <a href=\"mailto:ask-arc@nau.edu\" aria-label=\"Contact Advanced Research Computing: Email Address\" title=\"Email Address\">\n            <div class=\"contact-icon-container\">\n                <i class=\"fas fa-envelope\" aria-hidden=\"true\"><\/i>\n                <span class=\"sr-only\">Email:<\/span>\n            <\/div>\n            <div class=\"contact-email\">ask-arc&#8203;@nau.edu<\/div>\n        <\/a>\n                    <\/div>\n<\/div>\n\n<\/p>\n<p><\/div>\n<\/div>\n\n<h1>Mambaforge &#8211; Package Management<br \/>\n<!-- directives:[] --><\/h1>\n<div id=\"content\">\n<p><!-- directives:[] --><\/p>\n<div id=\"content\">\n<p>One of the biggest features of Mambaforge is the ability to search and install packages from either a central or an exteral repository. Additionally, package management in Mambaforge is specifically designed to integrate with isolated environments. This page goes over the basics of searching and installing packages with the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span> command.<\/p>\n<p>We also have <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">anaconda3<\/span> available as a module, but we have deliberately chosen Mambaforge for use within our documentation due to the ability to be a drop-in replacement for Anaconda and for the major improvements listed on the <a href=\"https:\/\/github.com\/mamba-org\/mamba\">mamba Github page<\/a>, particularly the parallel downloads and faster dependency solving.<\/p>\n<p>More information on conda\/mamba package management can be found on the <a href=\"https:\/\/conda.io\/projects\/conda\/en\/latest\/user-guide\/tasks\/manage-pkgs.html\">Conda documentation page<\/a>. While the main command on that page uses the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">conda<\/span> command, you can replace it with <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span> and expect the same results.<\/p>\n<h2 id=\"prerequisites\">Prerequisites<\/h2>\n<p>In order to install\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span> packages, you must first load the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mambaforge<\/span> module and activate a conda environment. Read our <a href=\"https:\/\/in.nau.edu\/arc\/mambaforge-environments\/\">Mambaforge &#8211; Environments<\/a> documentation page to learn how to do that.<\/p>\n<p><em>Note: If a user-created conda environment is not activated, the base conda environment located at <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">\/packages\/mambaforge\/[latest_date]<\/span> will be used instead. This directory is not writable by regular users, so package installation will fail.<\/em><\/p>\n<h2 id=\"searching-for-packages\">Searching for Packages<\/h2>\n<p>To see if a certain package is available, use the\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span> search command:<\/p>\n<pre><code class=\"bash language-bash\">mamba search [package_name]<\/code><\/pre>\n<p>For example, to search for the term <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">ninja<\/span>, a\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span> search command would look like:<\/p>\n<pre><code class=\"bash language-bash\">mamba search ninja<\/code><\/pre>\n<h2 id=\"installing-packages\">Installing Packages<\/h2>\n<p>To install a specific package, use the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba install<\/span> command:<\/p>\n<pre><code class=\"bash language-bash\">mamba install [package_name] [(optional) more_packages]<\/code><\/pre>\n<p>For example, to install the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">ninja<\/span> package, a <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba install<\/span> command would look like:<\/p>\n<pre><code class=\"bash language-bash\">mamba install ninja<\/code><\/pre>\n<p>You can also specify a specific version of a package to install:<\/p>\n<pre><code class=\"bash language-bash\">mamba install ninja=1.8.2<\/code><\/pre>\n<p>Additionally, you can also install multiple packages at once:<\/p>\n<pre><code class=\"bash language-bash\">mamba install ninja=1.8.2 pandas<\/code><\/pre>\n<h2 id=\"software-channels\">Software Channels<\/h2>\n<p><em>Channels<\/em> in\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span> are the repositories that a given package is downloaded from.\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span>has some channels configured by default, which you can see with the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">conda config<\/span> command:<\/p>\n<pre><code class=\"bash language-bash\">$ conda config --show channels\r\nchannels:\r\n  - defaults<\/code><\/pre>\n<p>*Note: The\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">conda config<\/span> command is not provided by <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba<\/span>, so the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">conda<\/span> command must be used. However, the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mambaforge<\/span> module provides the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">conda<\/span> command, so no additional modules need to be loaded.<\/p>\n<p>To install software from a channel not listed above, you can use the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">-c<\/span> flag when using the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba install<\/span> command. For example, to install the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">zstd<\/span> package, use the following command:<\/p>\n<pre><code class=\"bash language-bash\">mamba install -c conda-forge zstd<\/code><\/pre>\n<h2 id=\"updating-packages\">Updating Packages<\/h2>\n<p>To update a package, use the <span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba update<\/span> command:<\/p>\n<pre><code class=\"bash language-bash\">mamba update [package_name] [(optional) more_packages]<\/code><\/pre>\n<p>For example, to update the\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">ninja<\/span> package, a\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba update<\/span> command would look like:<\/p>\n<pre><code class=\"bash language-bash\">mamba update ninja<\/code><\/pre>\n<p>You can also update multiple packages at once:<\/p>\n<pre><code class=\"bash language-bash\">mamba update ninja pandas<\/code><\/pre>\n<h2 id=\"removing-packages\">Removing Packages<\/h2>\n<p>To remove a specific package, use the\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba remove<\/span> command:<\/p>\n<pre><code class=\"bash language-bash\">mamba remove [package_name] [(optional) more_packages]<\/code><\/pre>\n<p><em>Note: This will uninstall the specifed packages\u00a0<strong>in the currently active environment<\/strong>.<\/em><\/p>\n<p>For example, to remove the ninja package, a\u00a0<span style=\"font-size: 16px; font-family: monospace; border: 1px solid; border-radius: 4px; padding: 0px 4px 0px; border-color: #BBBBBB; background-color: white\">mamba remove<\/span> command would look like:<\/p>\n<pre><code class=\"bash language-bash\">mamba remove ninja<\/code><\/pre>\n<p>You can also remove multiple packages at once<\/p>\n<pre><code class=\"bash language-bash\">mamba remove ninja pandas<\/code><\/pre>\n<p>You can also remove a package from a specific conda environment:<\/p>\n<pre><code class=\"bash language-bash\">mamba remove -n demo_environment ninja pandas<\/code><\/pre>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>Mambaforge &#8211; Package Management One of the biggest features of Mambaforge is the ability to search and install packages from either a central or an exteral repository. Additionally, package management in Mambaforge is specifically designed to integrate with isolated environments. This page goes over the basics of searching and installing packages with the mamba command. [&hellip;]<\/p>\n","protected":false},"author":2758,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","ring_central_script_selection":"","footnotes":""},"class_list":["post-3465","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/pages\/3465","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/users\/2758"}],"replies":[{"embeddable":true,"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/comments?post=3465"}],"version-history":[{"count":5,"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/pages\/3465\/revisions"}],"predecessor-version":[{"id":3615,"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/pages\/3465\/revisions\/3615"}],"wp:attachment":[{"href":"https:\/\/in.nau.edu\/arc\/wp-json\/wp\/v2\/media?parent=3465"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}