1<!DOCTYPE html> 2 3<html lang="en" data-content_root="./"> 4 <head> 5 <meta charset="utf-8" /> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> 7 8 <title>Installing — Invoke documentation</title> 9 <link rel="stylesheet" type="text/css" href="_static/pygments.css?v=6625fa76" /> 10 <link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=cb25574f" /> 11
11<script src="_static/documentation_options.js?v=5929fcd5"></script>
11 12
12<script src="_static/doctools.js?v=888ff710"></script>
12 13
13<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
13 14 <link rel="index" title="Index" href="genindex.html" /> 15 <link rel="search" title="Search" href="search.html" /> 16 <link rel="next" title="Development" href="development.html" /> 17 <link rel="prev" title="Frequently asked questions" href="faq.html" /> 18 19 <link rel="stylesheet" href="_static/custom.css" type="text/css" /> 20 21 22 <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" /> 23 24
24<script async type="text/javascript" src="/_/static/javascript/readthedocs-addons.js"></script>
24<meta name="readthedocs-project-slug" content="invoke-www" /><meta name="readthedocs-version-slug" content="latest" /><meta name="readthedocs-resolver-filename" content="/installing.html" /><meta name="readthedocs-http-status" content="200" /></head><body> 25 26 27 <div class="document"> 28 <div class="documentwrapper"> 29 <div class="bodywrapper"> 30 31 32 <div class="body" role="main"> 33 34 <section id="installing"> 35<h1>Installing<a class="headerlink" href="#installing" title="Link to this heading">¶</a></h1> 36<section id="basic-installation"> 37<h2>Basic installation<a class="headerlink" href="#basic-installation" title="Link to this heading">¶</a></h2> 38<p>The recommended way to get Invoke is to <strong>install the latest stable release</strong> 39via <a class="reference external" href="https://pip.pypa.io">pip</a> or <a class="reference external" href="https://docs.astral.sh/uv/">uv</a>, eg:</p> 40<div class="highlight-default notranslate"><div class="highlight"><pre><span></span>$ pip install invoke 41</pre></div> 42</div> 43<p>As long as you have a supported Python interpreter (defined in the repositoryâs 44<a class="reference external" href="https://github.com/pyinvoke/invoke/tree/main/pyproject.toml">pyproject.toml</a> 45and reflected on our <a class="reference external" href="https://pypi.org/project/invoke/">PyPI page</a>), <strong>there 46are no other dependencies</strong>. Invoke is pure-Python, and contains copies of its 47few dependencies within its source tree.</p> 48<div class="admonition note"> 49<p class="admonition-title">Note</p> 50<p>See <a class="reference external" href="https://bitprophet.org/blog/2012/06/07/on-vendorizing/">this blog post</a> for background on 51our decision to vendorize dependencies.</p> 52</div> 53<div class="admonition seealso"> 54<p class="admonition-title">See also</p> 55<p><a class="reference internal" href="development.html"><span class="doc">Development</span></a> for details on source control checkouts / unstable 56versions.</p> 57</div> 58</section> 59</section> 60 61 62 </div> 63 64 </div> 65 </div> 66 <div class="sphinxsidebar" role="navigation" aria-label="main navigation"> 67 <div class="sphinxsidebarwrapper"> 68<h1 class="logo"><a href="index.html">Invoke</a></h1> 69 70 71 72<p class="blurb">Pythonic task execution</p> 73 74 75 76 77<p> 78<iframe src="https://ghbtns.com/github-btn.html?user=pyinvoke&repo=invoke&type=watch&count=true&size=large&v=2" 79 allowtransparency="true" frameborder="0" scrolling="0" width="200px" height="35px"></iframe> 80</p> 81 82 83 84 85 86<h3>Navigation</h3> 87<ul class="current"> 88<li class="toctree-l1"><a class="reference internal" href="changelog.html">Changelog</a></li> 89<li class="toctree-l1"><a class="reference internal" href="faq.html">FAQs</a></li> 90<li class="toctree-l1 current"><a class="current reference internal" href="#">Installing</a><ul> 91<li class="toctree-l2"><a class="reference internal" href="#basic-installation">Basic installation</a></li> 92</ul> 93</li> 94<li class="toctree-l1"><a class="reference internal" href="development.html">Development</a></li> 95<li class="toctree-l1"><a class="reference internal" href="prior-art.html">Prior art</a></li> 96<li class="toctree-l1"><a class="reference internal" href="contact.html">Contact</a></li> 97</ul> 98 99 100<hr /> 101<ul> 102 103 <li class="toctree-l1"><a href="https://docs.pyinvoke.org">Documentation</a></li> 104 105</ul> 106 107<div id="searchbox" style="display: none" role="search"> 108 <h3 id="searchlabel">Quick search</h3> 109 <div class="searchformwrapper"> 110 <form class="search" action="search.html" method="get"> 111 <input type="text" name="q" aria-labelledby="searchlabel" autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> 112 <input type="submit" value="Go" /> 113 </form> 114 </div> 115</div>
116<script>document.getElementById('searchbox').style.display = "block"</script>
116 117 118 119<h3 class="donation">Donate/support</h3> 120 121 122 123 124 125 126 127<p> 128Professionally-supported Invoke is available with the 129<a href="https://tidelift.com/subscription/pkg/pypi-invoke?utm_source=pypi-invoke&utm_medium=referral&utm_campaign=docs">Tidelift Subscription</a>. 130</p> 131 132 </div> 133 </div> 134 <div class="clearer"></div> 135 </div> 136 <div class="footer"> 137 ©2026 Jeff Forcier. 138 139 | 140 Powered by <a href="http://sphinx-doc.org/">Sphinx 7.2.6</a> 141 & <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a> 142 143 | 144 <a href="_sources/installing.rst.txt" 145 rel="nofollow">Page source</a> 146 </div> 147 148 149 150 151
151<script type="text/javascript"> 152 153 var _gaq = _gaq || []; 154 _gaq.push(['_setAccount', 'UA-18486793-3']); 155 _gaq.push(['_setDomainName', 'none']); 156 _gaq.push(['_setAllowLinker', true]); 157 _gaq.push(['_trackPageview']); 158 159 (function() { 160 var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true; 161 ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js'; 162 var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s); 163 })(); 164 165 </script>
165 166 167 </body> 168</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.