@@ -129,16 +129,33 @@ By default, this package uses `Cython <http://cython.org/>`_ to optimize core mo
129129This is not a hard requirement, but is engaged by default to build extensions offering better performance than the
130130pure Python implementation.
131131
132+ This is a costly build phase, especially in clean environments where the Cython compiler must be built
132133This build phase can be avoided using the build switch, or an environment variable::
133134
134135 python setup.py install --no-cython
135- -or-
136- pip install --install-option="--no-cython" <spec-or-path>
137136
138137Alternatively, an environment variable can be used to switch this option regardless of
139138context::
140139
141140 CASS_DRIVER_NO_CYTHON=1 <your script here>
141+ - or, to disable all extensions:
142+ CASS_DRIVER_NO_EXTENSIONS=1 <your script here>
143+
144+ This method is required when using pip, which provides no other way of injecting user options in a single command::
145+
146+ CASS_DRIVER_NO_CYTHON=1 pip install cassandra-driver
147+ CASS_DRIVER_NO_CYTHON=1 sudo -E pip install ~/python-driver
148+
149+ The environment variable is the preferred option because it spans all invocations of setup.py, and will
150+ prevent Cython from being materialized as a setup requirement.
151+
152+ If your sudo configuration does not allow SETENV, you must push the option flag down via pip. However, pip
153+ applies these options to all dependencies (which break on the custom flag). Therefore, you must first install
154+ dependencies, then use install-option::
155+
156+ sudo pip install six futures
157+ sudo pip install --install-option="--no-cython"
158+
142159
143160libev support
144161^^^^^^^^^^^^^
0 commit comments