summary refs log tree commit diff
path: root/README.rst
diff options
context:
space:
mode:
authorMark Haines <mark.haines@matrix.org>2015-01-30 16:56:53 +0000
committerMark Haines <mark.haines@matrix.org>2015-01-30 16:56:53 +0000
commite709d61964834244c9dae673d4e6fefa6075cc5e (patch)
treeec50c6e014de07c553cb25cc4e398e8da200445b /README.rst
parentReturn empty list rather than None when there are no emphemeral events for a ... (diff)
downloadsynapse-e709d61964834244c9dae673d4e6fefa6075cc5e.tar.xz
Update documentation to recommend virtual env
Diffstat (limited to 'README.rst')
-rw-r--r--README.rst45
1 files changed, 15 insertions, 30 deletions
diff --git a/README.rst b/README.rst
index 768da3df64..ddc5d4f78c 100644
--- a/README.rst
+++ b/README.rst
@@ -95,7 +95,7 @@ Installing prerequisites on Ubuntu or Debian::
 
     $ sudo apt-get install build-essential python2.7-dev libffi-dev \
                            python-pip python-setuptools sqlite3 \
-                           libssl-dev
+                           libssl-dev python-virtualenv libjpeg-dev
 
 Installing prerequisites on Mac OS X::
 
@@ -103,19 +103,12 @@ Installing prerequisites on Mac OS X::
     
 To install the synapse homeserver run::
 
-    $ pip install --user --process-dependency-links https://github.com/matrix-org/synapse/tarball/master
+    $ virutalenv ~/.synapse
+    $ source ~/.synapse/bin/activate
+    $ pip install --process-dependency-links https://github.com/matrix-org/synapse/tarball/master
 
-This installs synapse, along with the libraries it uses, into
-``$HOME/.local/lib/`` on Linux or ``$HOME/Library/Python/2.7/lib/`` on OSX.
-
-Your python may not give priority to locally installed libraries over system
-libraries, in which case you must add your local packages to your python path::
-
-    $ # on Linux:
-    $ export PYTHONPATH=$HOME/.local/lib/python2.7/site-packages:$PYTHONPATH
-
-    $ # on OSX:
-    $ export PYTHONPATH=$HOME/Library/Python/2.7/lib/python/site-packages:$PYTHONPATH
+This installs synapse, along with the libraries it uses, into a virtual
+environment under ``synapse``.
 
 For reliable VoIP calls to be routed via this homeserver, you MUST configure
 a TURN server.  See docs/turn-howto.rst for details.
@@ -182,23 +175,13 @@ Running Your Homeserver
 To actually run your new homeserver, pick a working directory for Synapse to run 
 (e.g. ``~/.synapse``), and::
 
-    $ mkdir ~/.synapse
     $ cd ~/.synapse
-    
-    $ # on Linux
-    $ ~/.local/bin/synctl start
-    
-    $ # on OSX
-    $ ~/Library/Python/2.7/bin/synctl start
+    $ ./bin/activate
+    $ synctl start
 
 Troubleshooting Running
 -----------------------
 
-If ``synctl`` fails with ``pkg_resources.DistributionNotFound`` errors you may 
-need a newer version of setuptools than that provided by your OS.::
-
-    $ sudo pip install setuptools --upgrade
-
 If synapse fails with ``missing "sodium.h"`` crypto errors, you may need 
 to manually upgrade PyNaCL, as synapse uses NaCl (http://nacl.cr.yp.to/) for 
 encryption and digital signatures.
@@ -225,13 +208,15 @@ directory of your choice::
     $ cd synapse
 
 The homeserver has a number of external dependencies, that are easiest
-to install by making setup.py do so, in --user mode::
+to install using pip and a virtualenv::
 
-    $ python setup.py develop --user
+    $ virtualenv env
+    $ env/bin/activate
+    $ python synapse/dependencies | xargs -i pip install
+    $ pip install setuptools_trial mock
 
-This will run a process of downloading and installing into your
-user's .local/lib directory all of the required dependencies that are
-missing.
+This will run a process of downloading and installing all the needed
+dependencies into a virtual env.
 
 Once this is done, you may wish to run the homeserver's unit tests, to
 check that everything is installed as it should be::