Building Tahoe-LAFS on Windows

You’ll need python, pip, and virtualenv. But you won’t need a compiler.


1: Install Python-2.7.11 . Use the “Windows x86-64 MSI installer” at

2: That should install pip, but if it doesn’t, look at for installation instructions.

3: Install virtualenv with


1: Start a CLI shell (e.g. PowerShell)

2: Create a new virtualenv. Everything specific to Tahoe will go into this. You can use whatever name you like for the virtualenv, but example uses “venv”:

PS C:\Users\me> virtualenv venv
New python executable in C:\Users\me\venv\Scripts\python.exe
Installing setuptools, pip, wheel...done.

3: Use the virtualenv’s pip to install the latest release of Tahoe-LAFS into this virtualenv:

PS C:\Users\me> venv\Scripts\pip install --find-links= tahoe-lafs
Collecting tahoe-lafs
Installing collected packages: ...
Successfully installed ...

4: Verify that Tahoe was installed correctly by running tahoe --version, using the tahoe from the virtualenv’s Scripts directory:

PS C:\Users\me> venv\Scripts\tahoe --version
tahoe-lafs: 1.11
foolscap: ...

Running Tahoe-LAFS

The rest of the documentation assumes you can run the tahoe executable just as you did in step 4 above. If you want to type just tahoe instead of venv\Scripts\tahoe, you can either “activate” the virtualenv (by running venv\Scripts\activate, or you can add the Scripts directory to your %PATH% environment variable.

Now use the docs in How To Run Tahoe-LAFS to learn how to configure your first Tahoe node.

Installing A Different Version

The pip install tahoe-lafs command above will install the latest release (from PyPI). If instead, you want to install from a git checkout, then run the following command (using pip from the virtualenv, from the root of your git checkout):

$ venv\Scripts\pip install --find-links= .

If you’re planning to hack on the source code, you might want to add --editable so you won’t have to re-install each time you make a change.


Tahoe-LAFS depends upon several packages that use compiled C code, such as zfec, pycryptopp, and others. This code must be built separately for each platform (Windows, OS-X, and different flavors of Linux).

Pre-compiled “wheels” of all Tahoe’s dependencies are hosted on the website in the deps/ directory. The --find-links= argument (used in the examples above) instructs pip to look at that URL for dependencies. This should avoid the need for anything to be compiled during the install.